gpt4 book ai didi

python-3.x - 如何将数据框中的多列组合为 Pandas 日期时间格式

转载 作者:行者123 更新时间:2023-12-01 06:13:49 25 4
gpt4 key购买 nike

我有一个 Pandas 数据框,其值如下
ProcessID1 UserID Date Month Year Time
248 Tony 29 4 2017 23:30:56
436 Jeff 28 4 2017 20:02:19
500 Greg 4 5 2017 11:48:29
我想知道有什么方法可以将日期、月份和年份和时间的列组合到 pd.datetime格式?

最佳答案

使用 to_datetime 带自动转换栏Day,Month,Year添加 time s 转换 to_timedelta :

df['Datetime'] = pd.to_datetime(df.rename(columns={'Date':'Day'})[['Day','Month','Year']]) + \
pd.to_timedelta(df['Time'])

另一种解决方案是连接所有列转换为 string首先:
df['Datetime'] = pd.to_datetime(df[['Date','Month','Year', 'Time']]
.astype(str).apply(' '.join, 1), format='%d %m %Y %H:%M:%S')
df['Datetime']  = (pd.to_datetime(df['Year'].astype(str) + '-' +
df['Month'].astype(str) + '-' +
df['Date'].astype(str) + ' ' +
df['Time']))
print (df)
ProcessID1 UserID Date Month Year Time Datetime
0 248 Tony 29 4 2017 23:30:56 2017-04-29 23:30:56
1 436 Jeff 28 4 2017 20:02:19 2017-04-28 20:02:19
2 500 Greg 4 5 2017 11:48:29 2017-05-04 11:48:29

最后,如果需要删除这些列:
df = df.drop(['Date','Month','Year', 'Time'], axis=1)
print (df)
ProcessID1 UserID Datetime
0 248 Tony 2017-04-29 23:30:56
1 436 Jeff 2017-04-28 20:02:19
2 500 Greg 2017-05-04 11:48:29

关于python-3.x - 如何将数据框中的多列组合为 Pandas 日期时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49718863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com