我有一个数据框df
,如果要满足某些条件,我想将行合并为一个。在此之前,我首先创建一个新列delta
。 df['delta']
是基于移动列df['To']
并因此获取df['From']
和df['To']
之间的增量。
合并行的条件是:如果df['Letter']
是与下一行相同,并且df['delta']
是 <= 00:15:00 表示15分钟,则应将df['Letter']
,总和 df['Price']
组合/分组,并以df['From']
中最早的时间戳记和{{1 }}。
这是我创建列增量的方法:
df['From']
现在预览df。
df['delta'] = df['From']-df['To'].shift()
df
所需结果
Letter Price From To delta
0 A 4 2020-06-04 16:00:00 2020-06-04 16:15:00 NaN
1 A 16 2020-06-04 16:30:00 2020-06-04 16:44:00 00:15:00
2 A 10 2020-06-04 16:50:00 2020-06-04 16:55:00 00:06:00
3 B 5 2020-06-04 18:00:00 2020-06-05 18:05:00 01:05:00
4 B 20 2020-06-05 18:10:00 2020-06-06 18:20:00 00:05:00
5 B 56 2020-06-05 18:21:00 2020-06-06 22:03:00 00:01:00
6 C 1 2020-06-06 22:06:00 2020-06-07 23:00:00 00:03:00
df
我真的不知道该怎么解决。有人可以提出任何解决方案吗? 谢谢。