根据其他以熊猫为条件的列选择移位的列值

时间:2019-05-28 01:03:37

标签: python pandas dataframe

我有一个数据框:

A     B
100   0.00
50   -0.50
100   1.00
120   0.20                              

我想根据B列上的某个条件来选择A列上的移位值,因此,例如,如果B> = 0.20并且我想要的移位步长是2,我将得到100(从B = 1.00),并且50(来自B = 0.20),可以丢弃B <0.20的行。

1 个答案:

答案 0 :(得分:1)

您可以将shiftnp.where结合使用,以有条件地获取移位后的值:

shiftstep = 2

df['shift'] = np.where(df['B'].ge(0.2), df['A'].shift(shiftstep), np.NaN)

     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