首页 > 解决方案 > 从列中提取所有时间元素

问题描述

我有一个数据集,其中包含一个名为 ['STime'] 的列,我想用它来创建包含每个时间元素(年、月、日等)的许多列。列值的格式为 2016-04-16 10:12:41。我尝试使用以下方法分别创建年份列:

 data['SYear'] = data['SDate'].year

它给了我一个错误: AttributeError: 'Series' object has no attribute 'year'

我该如何解决这个问题?

标签: pythonpandaseda

解决方案


data['SDate']是一个系列,一个系列没有属性year。但是,您可以通过函数映射系列并将结果保存在新列中,例如:

data['SYear'] = data['SDate'].map(lambda d: d.year)

这将通过 lambda 函数map将该列的每个值SDate生成一个新的 Pandas 系列,并将其保存在新列中。


推荐阅读