gpt4 book ai didi

python - 更快地组合大型数据集的日期、小时和间隔列的方法

转载 作者:太空宇宙 更新时间:2023-11-04 04:30:35 25 4
gpt4 key购买 nike

我目前有一个包含日期、小时和间隔(刻钟)列的大约 120 万行的数据集。

Delivery Date      Delivery Hour Delivery Interval
1-1-2017 1 1
1-1-2017 1 2
1-1-2017 1 3
1-1-2017 1 4

我目前有一个 for 循环,可以将这些列组合成一个列,但我正在寻找一种更快的方法,因为这将需要数小时才能完成运行。

for i in range(len(df_rt['Delivery Interval'])):

hour = int(df_rt['Delivery Hour'][i]) - 1
minute = (int(df_rt['Delivery Interval'][i]) - 1)*15
df_rt['Time'][i] = str(hour) + ':' + str(minute)

df_rt['DateTime'] = df_rt['Delivery Date'] + " " + df_rt['Time']
df_rt['DateTime'] = pd.to_datetime(df_rt['DateTime'])

最佳答案

不是最干净的解决方案,但它避免了显式循环遍历您的数据框:

df['DateTime'] = pd.to_datetime(df['Delivery Date'].astype(str) + ' ' + 
(df['Delivery Hour'].astype(int)-1).astype(str) + ':' +
((df['Delivery Interval'].astype(int)-1)*15).astype(str))

鉴于您的示例数据框,这会产生:

  Delivery Date  Delivery Hour  Delivery Interval            DateTime
0 1-1-2017 1 1 2017-01-01 00:00:00
1 1-1-2017 1 2 2017-01-01 00:15:00
2 1-1-2017 1 3 2017-01-01 00:30:00
3 1-1-2017 1 4 2017-01-01 00:45:00

关于python - 更快地组合大型数据集的日期、小时和间隔列的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52709872/

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