gpt4 book ai didi

python - Pandas:添加时间列并重复一个月的所有行

转载 作者:行者123 更新时间:2023-12-01 06:28:46 27 4
gpt4 key购买 nike

我想更改我的数据框,添加一个月内每小时的时间间隔

原始df

  money food
0 1 2
1 4 5
2 5 7

输出:

  money food time 
0 1 2 2020-01-01 00:00:00
1 1 2 2020-01-01 00:01:00
2 1 2 2020-01-01 00:02:00
...
2230 5 7 2020-01-31 00:22:00
2231 5 7 2020-01-31 00:23:00

其中 2231 = out_rows_number-1 = Month_days_number*per_dayhours_per_day*orig_rows_number - 1

正确的执行方法是什么?

最佳答案

通过DataFrame.merge使用交叉连接以及由 date_range 创建的包含每月所有小时数的新 DataFrame :

df1 = pd.DataFrame({'a':1, 
'time':pd.date_range('2020-01-01', '2020-01-31 23:00:00', freq='h')})
df = df.assign(a=1).merge(df1, on='a', how='outer').drop('a', axis=1)
print (df)
money food time
0 1 2 2020-01-01 00:00:00
1 1 2 2020-01-01 01:00:00
2 1 2 2020-01-01 02:00:00
3 1 2 2020-01-01 03:00:00
4 1 2 2020-01-01 04:00:00
... ... ...
2227 5 7 2020-01-31 19:00:00
2228 5 7 2020-01-31 20:00:00
2229 5 7 2020-01-31 21:00:00
2230 5 7 2020-01-31 22:00:00
2231 5 7 2020-01-31 23:00:00

[2232 rows x 3 columns]

关于python - Pandas:添加时间列并重复一个月的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60005249/

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