Python 根据表中的不同列条件选择移位列值
我有一个数据帧:Python 根据表中的不同列条件选择移位列值,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据帧: A B 100 0.00 50 -0.50 100 1.00 120 0.20 我想根据B列上的特定条件在A列上选择移位值,因此,例如,如果B>=0.20,并且我所需的移位步长为2,我将从B=1.00中得到100,从B=0.20中得到50,其中B
A B
100 0.00
50 -0.50
100 1.00
120 0.20
我想根据B列上的特定条件在A列上选择移位值,因此,例如,如果B>=0.20,并且我所需的移位步长为2,我将从B=1.00中得到100,从B=0.20中得到50,其中B<0.20的行可以被丢弃。您可以将移位与np一起使用。在哪里有条件地获得移位值:
shiftstep = 2
df['shift'] = np.where(df['B'].ge(0.2), df['A'].shift(shiftstep), np.NaN)
你能再给我一点背景吗?您是否需要在某种if-else逻辑中实现多个移位值?或者我们只是留下了什么@ALollz:对那些行不感兴趣,它们可能是NaN的,也可能被遗漏,但我可以稍后在一个新的df上这样做,我想,编辑了这个问题,thx。工作起来很有魅力,我不知道ge操作员……注意:结果是我也需要相反的选择,使用负数的'shiftstep有效!
A B shift
0 100 0.0 NaN
1 50 -0.5 NaN
2 100 1.0 100.0
3 120 0.2 50.0