我有这样的数据
。
我想使用 pandas
shift
并在 列
之间减去值。这是我正在使用的 code
。
df['Difference'] = (df['A'] - df['A'].shift(-1))
这是我得到的输出
(正如预期的那样)。
如果 index ( Id)
不同,如何防止 pandas
在 columns
之间进行减法。我只想在 index
相同时减去。我的愿望输出是这样的。使用 df.shift(-1, axis = 0)
也没有解决。
有什么建议吗?
最佳答案
可以先groupby
'id'
:
In [156]: df.assign(
...: new_col=df.groupby('id').diff(-1)
...: )
Out[156]:
A id new_col
0 6 1 2.0
1 4 1 -7.0
2 11 1 NaN
3 7 2 -2.0
4 9 2 -4.0
5 13 2 NaN
关于python - 如果索引不同,如何停止在 Pandas 中移动列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50474031/