Python:基于“年”、“月”、“日”列实现一个包含星期几的列?

2024-10-03 11:23:46 发布

您现在位置:Python中文网/ 问答频道 /正文

enter image description here

enter image description here

我尝试创建一个包含星期几的新列:

df2019['Weekday']=pd.to_datetime(df2019['Year'],df2019['Month'],df2019['Day']).weekday()

我得到以下错误:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

谢谢


Tags: ofthetodatetimevalue错误yearpd
2条回答

您可以这样做:

from datetime import datetime

def get_weekday(row):
    date_str = "{}-{}-{}".format(row["Year"], row["Month"], row["Day"])
    date = datetime.strptime(date_str, '%Y-%m-%d')
    return date.weekday()


df2019["weekday"] = df2019.apply(get_weekday, axis=1)

由于您的Timestamp已经是datetime格式,您可以执行以下操作:

df2019['weekday'] = df2019['Timestamp'].dt.weekday

相关问题 更多 >