Gre*_*sen 2 python data-manipulation pandas
我有一个 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')
Run Code Online (Sandbox Code Playgroud)
结果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
Run Code Online (Sandbox Code Playgroud)
要添加季节,您可以使用此公式: 链接
df['season'] = (df['date'].dt.month%12 + 3)//3
Run Code Online (Sandbox Code Playgroud)
结果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
Run Code Online (Sandbox Code Playgroud)
Strftime 参考:http ://strftime.org/
| 归档时间: |
|
| 查看次数: |
1697 次 |
| 最近记录: |