Skip to content Skip to sidebar Skip to footer

Pandas: Update A Column With An If Statement

My current dataframe looks like this: midprice ema12 ema26 difference 0 0.002990 0.002990 0.002990 0.000000e+00 1 0.002990 0.002990 0.002990 4.227

Solution 1:

I think you need:

m1= df['difference'] < df['difference'].shift(-1)
m2= df['difference'] < df['difference'].shift(-2)
m3= df['difference'] < df['difference'].shift(-3)

df['action'] = np.select(condlist=[m1 | m2 | m3, df.ema12 < df.ema26 ], 
                         choicelist=['buy', 'sell'], 
                         default='do nothing')
print (df)
   midprice     ema12     ema26    difference      action
0  0.002990  0.002990  0.002990  0.000000e+00         buy
1  0.002990  0.002990  0.002990  4.227920e-08         buy
2  0.003018  0.002994  0.002992  2.295777e-06         buy
3  0.003025  0.002999  0.002994  4.579221e-06         buy
4  0.003067  0.003009  0.003000  9.708765e-06         buy
5  0.003112  0.003025  0.003008  1.718520e-05  do nothing

Post a Comment for "Pandas: Update A Column With An If Statement"