相对地将python pandas列递减至另一列

前端之家收集整理的这篇文章主要介绍了相对地将python pandas列递减至另一列 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个结构,其中B列包含A列值的相同出现次数.

df = pd.DataFrame(dict(A=list('aaabbcccc'),B=list('333224444')))
df
#    A  B
# 0  a  3
# 1  a  3
# 2  a  3
# 3  b  2
# 4  b  2
# 5  c  4
# 6  c  4
# 7  c  4
# 8  c  4

我正在寻找一种添加C列的优雅方法,即每行减B的值.

res
#    A  B  C
# 0  a  3  2
# 1  a  3  1
# 2  a  3  0
# 3  b  2  1
# 4  b  2  0
# 5  c  4  3
# 6  c  4  2
# 7  c  4  1
# 8  c  4  0
最佳答案
使用@ALollz建议的cumcount(ascending = False):

df.groupby('B').cumcount(ascending=False)

0    2
1    1
2    0
3    1
4    0
5    3
6    2
7    1
8    0
dtype: int64
原文链接:https://www.f2er.com/python/533107.html

猜你在找的Python相关文章