我的目标是添加显示以前列之间差异的列
DF
Name 0 1 2
A 3 1 0
B 5 4 1
结果:
Name 0 1 2 d1 d2
A 3 1 0 2 (=3-1) 1 (=1-0)
B 5 4 1 1 (=5-4) 3 (=4-1)
我正在考虑创建一个新的df来查找计算差异,然后将其添加回原始df,但由于仍然需要使用原始数据,因此无法解决问题。有更好的方法吗?
谢谢!
答案 0 :(得分:2)
使用diff
:
df = df.set_index('Name')
df[['d1','d2']] = -df.diff(axis=1).iloc[:, 1:]
df.reset_index()
Name 0 1 2 d1 d2
A 3 1 0 2.0 1.0
B 5 4 1 1.0 3.0
答案 1 :(得分:1)
npm install --save @angular/cli@latest
答案 2 :(得分:1)
我们也可以先用列名选择列。最后做减法。
df[['d1','d2']] = df[["0", "1"]] - df[["1", "2"]].values
Name 0 1 2 d1 d2
A 3 1 0 2 1
B 5 4 1 1 3
(我们需要.values
仅提取值并忽略其列名。您可以在没有.values
的情况下尝试使用。)