我需要向熊猫DataFrame中的重复日期添加任意数量的timedelta。
我有一个数据框,其中最多有两行,每个“ area”和“ date”值的日期相同。 还有另一列告诉我它是否对应于早上或晚上。 我想补充一点,比方说晚上行对应的日期是8个小时。
到目前为止,我已经设法在重复的日期中添加了一个timedelta,但是在早上或晚上都没有考虑在内。 同样,我无法添加任意时间增量。
输入df:
date day_time area value
0 2019-02-13 evening 1 21.0232
1 2019-02-13 evening 2 28.5190
2 2019-02-13 evening 3 33.0943
3 2019-02-13 evening 4 21.9933
4 2019-02-14 evening 1 20.1975
5 2019-02-14 evening 2 34.5405
6 2019-02-14 evening 3 33.9600
7 2019-02-14 evening 4 29.9888
8 2019-02-14 morning 1 13.2533
9 2019-02-14 morning 2 25.2858
10 2019-02-14 morning 3 26.6155
11 2019-02-14 morning 4 21.9388
time_delta = pd.to_timedelta(df.groupby(['date']).cumcount(), unit="h")
df['date'] = date['date'] + time_delta
预期输出:
date day_time area value
0 2019-02-13 08:00:00 evening 1 21.0232
1 2019-02-13 08:00:00 evening 2 28.5190
2 2019-02-13 08:00:00 evening 3 33.0943
3 2019-02-13 08:00:00 evening 4 21.9933
4 2019-02-14 08:00:00 evening 1 20.1975
5 2019-02-14 08:00:00 evening 2 34.5405
6 2019-02-14 08:00:00 evening 3 33.9600
7 2019-02-14 08:00:00 evening 4 29.9888
8 2019-02-14 00:00:00 morning 1 13.2533
9 2019-02-14 00:00:00 morning 2 25.2858
10 2019-02-14 00:00:00 morning 3 26.6155
11 2019-02-14 00:00:00 morning 4 21.9388