【发布时间】:2017-12-20 09:26:30
【问题描述】:
我有一个带有日期作为索引的 df。我想添加其他列(“Mon”....“Sun”)。假设 2012-10-03 是星期一,那么“Mon”列应该是 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)
应该可行但返回错误:
AttributeError: 'Index' 对象没有属性 'dayofweek'
我可以做些什么来解决这个问题?
【问题讨论】:
-
您能否详细说明一下这个“星期几”是什么?
-
IMO 这个问题不应该被否决——它有输入样本数据集、所需数据集和无效的源代码(尝试)。我希望所有 Pandas 的问题都像这样被问到......再加上一个......
标签: python pandas datetime indexing