【问题标题】:Split date and hour from a pandas serie从熊猫系列中拆分日期和时间
【发布时间】:2022-02-19 15:20:44
【问题描述】:
我有这个DF,其中包含一个名为数据的列,格式为:"%Y-%m-%d %H:%M:%S.%f",我只想获取数据格式,例如:"%Y-%m-%d"。我编写了这段代码,但日期与原始列不匹配。
for d in df['data']:
data, hora = d.split(' ')
df['DATA'] = data
df['HORA'] = hora
【问题讨论】:
标签:
python
pandas
dataframe
datetime
【解决方案1】:
您可以转换为日期时间对象;然后使用dt.strftime:
df['data'] = pd.to_datetime(df['data'])
df['date'] = df['data'].dt.strftime('%Y-%m-%d')
df['hour'] = df['data'].dt.strftime('%H:%M:%S')
输出:
data DATA HORA date hour
0 2022-01-01 00:10:00.000 2022-01-31 21:41:59.999 2022-01-01 00:10:00
1 2022-01-01 03:39:59.999 2022-01-31 21:41:59.999 2022-01-01 03:39:59
2 2022-01-01 05:42:00.000 2022-01-31 21:41:59.999 2022-01-01 05:42:00
3 2022-01-01 06:19:00.000 2022-01-31 21:41:59.999 2022-01-01 06:19:00
4 2022-01-02 06:12:59.999 2022-01-31 21:41:59.999 2022-01-02 06:12:59
.. ... ... ... ... ...
491 2022-01-30 23:47:59.999 2022-01-31 21:41:59.999 2022-01-30 23:47:59
492 2022-01-31 00:17:00.000 2022-01-31 21:41:59.999 2022-01-31 00:17:00
493 2022-01-31 02:49:00.000 2022-01-31 21:41:59.999 2022-01-31 02:49:00
494 2022-01-31 20:22:00.000 2022-01-31 21:41:59.999 2022-01-31 20:22:00
496 2022-01-31 21:41:59.999 2022-01-31 21:41:59.999 2022-01-31 21:41:59
[409 rows x 5 columns]