【发布时间】:2022-01-17 00:17:24
【问题描述】:
【问题讨论】:
标签: python pandas dataframe datetime
【问题讨论】:
标签: python pandas dataframe datetime
df['new_date'] = df['date'].astype(str) + ' ' + df['Volume'].astype(str).replace(r'\s-\s\d+$','', regex=True)
df['new_date'] = pd.to_datetime(df['new_date'])
这将创建一个新列。如果您愿意,也可以替换日期列并删除小时。
输出:
0 2022-01-03 00:00:00
1 2022-01-04 01:00:00
2 2022-01-05 02:00:00
3 2022-01-06 03:00:00
4 2022-01-07 04:00:00
5 2022-01-10 05:00:00
6 2022-01-11 06:00:00
7 2022-01-12 07:00:00
8 2022-01-13 08:00:00
9 2022-01-14 09:00:00
Name: new_date, dtype: datetime64[ns]
【讨论】:
使用 str.cat . 连接两列。 str.partition 到 partition 应该可以帮助您消除数小时内不需要的文本。代码如下
df= df.assign(newdate=df['date'].str.cat(df['Hours'].str.partition('-')[0], sep=" "))
date Hours newdate
0 01/01/2020 01-02 01/01/2020 01
1 01/01/2020 01-03 01/01/2020 01
2 01/01/2020 01-02 01/01/2020 01
【讨论】: