我有一个带有日期的dataframe,我想在每一行中创建一个列,列中只包含相应日期的月份。首先,我将我的日期转换为这样的ts对象:
df['Date'] = pd.to_datetime(df['Date'])
之后,我试着把这个月的新专栏写成这样:
df['Month'] = df['Date'].month
但是,它给了我一个错误:
AttributeError:“串联”对象没有属性“月份”
我不明白为什么我不能这样做。我反复检查到ts对象的转换是否真的有效,这确实有效。另外,如果我使用切片提取一个日期,我可以附加.month来获得这个月。从技术上讲,我可以通过遍历所有索引,然后对每个索引进行切片来解决这个问题,但是我的数据文件包含166000+行,所以这不是一个选项。
发布于 2019-03-17 16:28:05
您必须使用属性(或访问器对象) dt
df["month"] = df.date.dt.month
https://stackoverflow.com/questions/55209211
复制相似问题