熊猫:减去DF的后续行并创建一个新的DF,其中没有要分组的列

时间:2020-11-12 16:52:41

标签: pandas

我正在尝试通过减去DF的后续行来创建新的DF。没有可用于分组和减去的列。该操作应从第1行减去第0行,从第3行减去第2行,从第5行减去第4行,依此类推。

df1:

enter image description here

需要生成df2:

enter image description here

我尝试使用来遍历行

for ii in [0,2,4]: 并将ii中的值用于.iloc,但结果是df列而不是行。

1 个答案:

答案 0 :(得分:0)

您可以从上一行计算出每一行的.diff,然后通过iloc从中选择偶数元素:

out = df.diff(-1).iloc[::2].reset_index(drop=True)

print(out)
      a     b      c    d
0  28.0   1.0  147.0 -7.0
1  87.0  10.0  151.0 -7.0
2  -2.0   1.0   77.0 -7.0

并不是说样本输出中的减法是不正确的(除非我误解了某些东西,这是完全可能的)。但是对于您的第一行列“ a”,执行633-605应该是28,而不是27。然后在列“ d”中:1-8是-7,而不是-8