Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据表中的不同列条件选择移位列值_Python_Pandas_Dataframe - Fatal编程技术网

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