我正在尝试通过减去DF的后续行来创建新的DF。没有可用于分组和减去的列。该操作应从第1行减去第0行,从第3行减去第2行,从第5行减去第4行,依此类推。
df1:
需要生成df2:
我尝试使用来遍历行
for ii in [0,2,4]:
并将ii中的值用于.iloc,但结果是df列而不是行。
答案 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