gpt4 book ai didi

python - 如何在python中有条件地选择上一行的值?

转载 作者:行者123 更新时间:2023-12-04 17:27:14 25 4
gpt4 key购买 nike

我想仅在满足特定条件时才选择上一行的值
例如。

df:
Value Marker
10 0
12 0
50 1
42 1
52 0
23 1
我想选择前一行的值,其中 marker == 0如果当前值 marker == 1 .
结果:
df:
Value Marker Prev_Value
10 0 nan
12 0 nan
50 1 12
42 1 12
52 0 nan
23 1 52
我试过: df[prev_value] = np.where(df[marker] == 1, df[Value].shift(), np.nan)但这并不像我想要的那样采用有条件的先前值。

最佳答案

condition = (df.Marker.shift() == 0) & (df.Marker == 1)
df['Prev_Value'] = np.where(condition, df.Value.shift(), np.nan)
输出:
df
Value Marker Prev_Value
0 10 0 NaN
1 12 0 NaN
2 50 1 12.0
3 42 1 NaN
4 52 0 NaN
5 23 1 52.0

关于python - 如何在python中有条件地选择上一行的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62514812/

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