我在Dataframe
中使用Pandas
,我想使用分区计算每个相邻行之间的差值。
例如,这是我用A和B排序后的初始设置:
A B
1 12 40
2 12 50
3 12 65
4 23 30
5 23 45
6 23 60
我想计算相邻B值之间的差值,用A分区。如果我们将C定义为结果,那么最终表应如下所示:
A B C
1 12 40 NaN
2 12 50 10
3 12 65 15
4 23 30 NaN
5 23 45 15
6 23 75 30
NaN的原因是我们无法计算每个分区中最小数量的增量。
答案 0 :(得分:2)
您可以按A栏分组并采取不同之处:
df['C'] = df.groupby('A')['B'].diff()
df
Out:
A B C
1 12 40 NaN
2 12 50 10.0
3 12 65 15.0
4 23 30 NaN
5 23 45 15.0
6 23 60 15.0