【问题标题】:Convert a Pandas Series of date in to weekdays [duplicate]将 Pandas 系列日期转换为工作日 [重复]
【发布时间】:2022-01-19 22:10:23
【问题描述】:
我有一个这样的 DataFrame:
Customer Id Date Product
0 001 2020-07-20 tropical fruit
1 002 2020-04-30 whole milk
2 003 2020-09-18 pip fruit
3 004 2020-12-11 other vegetables
4 005 2020-01-02 whole milk
...
我想添加一列来保留对应的工作日。
我该怎么做?
【问题讨论】:
标签:
python
pandas
dataframe
date
【解决方案1】:
您可以使用dt.dayofweek 和dt.day_name:
df['Date'] = pd.to_datetime(df['Date'])
df['weekday'] = df['Id'].dt.dayofweek
df['weekday name'] = pd.to_datetime(df['Date']).dt.day_name()
输出:
Customer Id Date Product weekday weekday name
0 1 2020-07-20 tropical fruit 0 Monday
1 2 2020-04-30 whole milk 3 Thursday
2 3 2020-09-18 pip fruit 4 Friday
3 4 2020-12-11 other vegetables 4 Friday
4 5 2020-01-02 whole milk 3 Thursday
【解决方案2】:
这样的:
df["WeekDay"] = df["Date"].to_series().apply(lambda date: date.day_name())
如果 Date 是一个简单的字符串对象,您还可以在 lambda pd.to_datetime(date) 中添加日期时间解析。