为什么我不能在DataFrame的“ dates”列中创建一个包含提取月份的列?

时间:2019-03-17 16:22:46

标签: python pandas dataframe timestamp

我有一个带有日期的数据框,我想在每一行中只包含相应日期的月份的列。首先,我将日期转换为ts对象,如下所示:

df['Date'] = pd.to_datetime(df['Date'])

之后,我试图像这样在本月创建新列:

df['Month'] = df['Date'].month

但是,它给了我一个错误:

AttributeError:“系列”对象没有属性“月”

我不明白为什么我不能这样做。我仔细检查了转换为ts对象是否确实有效,并且确实有效。另外,如果我使用切片提取1个日期,则可以附加.month来获取月份。从技术上讲,我可以通过遍历所有索引然后对每个索引切片来解决问题,但是我的数据框包含166000+行,因此这不是一个选择。

1 个答案:

答案 0 :(得分:1)

您必须使用属性(或访问器对象)dt

df["month"] = df.date.dt.month