python - 从列中提取所有时间元素
问题描述
我有一个数据集,其中包含一个名为 ['STime'] 的列,我想用它来创建包含每个时间元素(年、月、日等)的许多列。列值的格式为 2016-04-16 10:12:41。我尝试使用以下方法分别创建年份列:
data['SYear'] = data['SDate'].year
它给了我一个错误: AttributeError: 'Series' object has no attribute 'year'
我该如何解决这个问题?
解决方案
data['SDate']
是一个系列,一个系列没有属性year
。但是,您可以通过函数映射系列并将结果保存在新列中,例如:
data['SYear'] = data['SDate'].map(lambda d: d.year)
这将通过 lambda 函数map
将该列的每个值SDate
生成一个新的 Pandas 系列,并将其保存在新列中。
推荐阅读
- uwp - 在 Windows 10 中与 32feetnet 蓝牙配对期间不显示配对弹出消息
- android - ImageView Clickable 在 Fragment 上不起作用 - Android
- node.js - 访问 Promise 之外的变量
- python - AttributeError:“NoneType”对象没有属性“startswith”
- java - 我可以阻止 java 告诉 macOS 窗口管理器将焦点从当前窗口移开吗?
- grammar - 导入 liquibase.util.grammar 无法解析
- java - 放心错误解析消息:“无效的 UTF-8 中间字节 0x20”
- c++ - 多重继承同名且无歧义
- php - 如何使用for循环,PHP中相同mysqli_query中的IN运算符
- meteor - 如何在 jest env 中存根或忽略流星/会话?