gpt4 book ai didi

python-3.x - 按条件计算列

转载 作者:行者123 更新时间:2023-12-03 12:42:50 25 4
gpt4 key购买 nike

我在 df 中有表:

X1  X2
1 1
1 2
2 2
2 2
3 3
3 3

我想计算 Y,如果 X1=X1previous 和 X2=X2previous,则 Y = Yprevious + 1,否则为 0。第一行的 Y = 0。示例。

X1  X2  Y
1 1 0
2 2 0
2 2 1
2 2 2
2 2 3
3 3 0

不是重复...以前,问题更简单 - 在特定行中添加一个值。现在该术语出现在计算过程中。我需要一些累积计算

我需要的,更多示例:

X1  X2  Y
1 1 0
2 2 0
2 2 1
2 2 2
2 2 3
3 3 0
3 3 1
2 2 0

我在副本的链接上得到了什么

X1  X2  Y
1 1 0
2 2 0
2 2 1
2 2 2
2 2 3
3 3 0
3 3 1
2 2 4

最佳答案

使用GroupBy.cumcount具有连续值的新列:

df1 = df[['X1','X2']].ne(df[['X1','X2']].shift()).cumsum()

df['Y'] = df.groupby([df1['X1'], df1['X2']]).cumcount()
print (df)
X1 X2 Y
0 1 1 0
1 2 2 0
2 2 2 1
3 2 2 2
4 2 2 3
5 3 3 0
6 3 3 1
7 2 2 0

关于python-3.x - 按条件计算列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56492755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com