假设我们有一个包含两列的pandas数据框:
Col1 Col2
0 15
0 20
0 30
1 40
1 45
0 50
0 55
2 60
2 70
我需要根据其他数据帧或数组中的col2计算此值:
Col1 Col2
0 30-15=15
1 45-40=5
0 55-50=5
2 70-60=10
最后的结果:
Col1 Col2
0 15
1 5
0 5
2 10
谢谢
答案 0 :(得分:2)
使用np.ptp
(从峰值到峰值)
df.groupby(df.Col1.ne(df.Col1.shift()).cumsum()).Col2.apply(np.ptp)
Col1 Col2
0 15
1 5
0 5
2 10