【发布时间】:2020-12-23 10:38:45
【问题描述】:
我有一些数据需要进行简单的数学运算,但它们都在同一列中。这是我的数据可能的样子
我需要执行 (A4+A5)-(A2+A3) 之类的操作,然后在每一行上继续该模式。例如,我的公式类似于 (A5+A6)-(A3+A4)。我一直在考虑如何做到这一点几乎一个星期,但我无法弄清楚。解决此问题的最佳方法是什么?我认为我最好的选择是转置数据,然后从那里使用它?
谢谢
编辑:好的,我想出了一些我认为可行的方法,但我不完全确定我的想法是正确的。这是一个代码sn-p。假设上述数据在一个从索引 0 开始的 numpy 数组中,这可以完成工作吗?
for x in range(len(list24)):
try:
filt = ((list24[x+2]+list24[x+3])-(list24[x]+list24[x+1]))
fraser.append(filt)
except IndexError:
pass
【问题讨论】:
-
你的预期输出是什么?
-
您始终可以为中间步骤创建额外的列。对不同行的内容使用 shift()。
-
(df[5:-1]+df[6:])-(df[3:-3]+df[4:-2])? -
我的预期输出将是输出值的数据框中的一个新列。
标签: python pandas numpy indexing slice