Skip to main content
 首页 » 编程设计

python之是否可以将 Pandas 日期时间转换为工作日/周末和季节

2025年05月04日19qlqwjy

我有一个 pandas 数据框,如果它的列采用日期时间格式(year-month-day)。有没有办法创建一个新的列,说明周末或工作日,以及一个说明现在是什么季节的列?更好的是(但这一个看起来要复杂得多,所以不是完全必要的)也将是它是否是联邦假日(美国)。

例如,日期为 2019-10-23 的实例是星期三,因此我想创建一个名为 day_type 的列来填充“weekday”,以及一个名为 的列season 填充 'fall'。

请您参考如下方法:

使用 strftime 很容易:

import pandas as pd  
 
df = pd.DataFrame({'string_date': ['2019-10-23', '2019-10-24', '2019-10-23']}) 
df['date'] = pd.to_datetime(df['string_date'], format='%Y-%m-%d', errors='ignore') 
df['day_of_week'] = df['date'].dt.strftime('%A') 

结果 1:

  string_date       date    day_of_week 
0  2019-10-23   2019-10-23   Wednesday 
1  2019-10-24   2019-10-24    Thursday 
2  2019-10-23   2019-10-23   Wednesday 

要添加季节,您可以使用以下公式: Link

df['season'] = (df['date'].dt.month%12 + 3)//3 

结果 2:

      string_date       date day_of_week  season 
0  2019-10-23 2019-10-23   Wednesday       4 
1  2019-10-24 2019-10-24    Thursday       4 
2  2019-10-23 2019-10-23   Wednesday       4 

Strftime 引用: http://strftime.org/