将日期时间列转换为星期几

Convert datetime column into day of week

我正在尝试使用以下代码将日期时间类型的列转换为星期几:

date = {'Date': ['2018-10-30', '2018-10-30', '2018-10-30', '2018-10-30', '2018-10-30']}
df = pd.DataFrame(date)
df.Date = df.to_datetime(df.Date)
df.Date.dayofweek()

但是它运行这个错误:AttributeError: 'Series' object has no attribute 'dayofweek'。 如果是日期时间,为什么要调用 Series 对象?

当我像这样对列进行切片时:

[In] df.Date[0].dayofweek()
[Out] 1 

我得到了预期的结果。 有谁知道发生了什么事吗?

删除 () 因为 Series (column) 的工作方式是 Series.dt.dayofweek:

print (df.Date.dt.dayofweek)
0    1
1    1
2    1
3    1
4    1
Name: Date, dtype: int64

不确定你的 pandas 版本,但对我来说 Timestamp.dayofweek 也没有 ():

print (df.Date.iat[0].dayofweek)
1