添加指示星期几的二进制列 - AttributeError

时间:2017-07-15 10:31:27

标签: python pandas datetime indexing

我有一个df,它带有一个日期作为索引。我想添加其他列(" Mon" ...." Sun")。让我们说2012-10-03是一个星期一然后"星期一" column应为True,其他列为False。

df的形状为:

Date
2012-10-03    3521.0
2012-10-04    3475.0
2012-10-05    3148.0
2012-10-06    2006.0
2012-10-07    2142.0
2012-10-08    3537.0

期望的结果应该是:

 Date                       Mon    Tue    Wed    Fri    Sat    Sun
    2012-10-03    3521.0    True   False  False  False  False  False
.....

为此,我使用了一本代码,我在一本书中找到了:

days=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]
for i in range(7):
    df[days[i]] = (df.index.dayofweek == i).astype(float)

哪个应该有效但返回错误:

  

属性错误:'索引'对象没有属性' dayofweek'

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:3)

在使用DatetimeIndex

之前,您需要将索引转换为dayofweek
daily.index = pd.to_datetime(daily.index)