Python 数据帧中行的条件操作
我想有一个条件,如果“预测”中的值小于0,那么“返回”=0 这是我的数据框Python 数据帧中行的条件操作,python,pandas,Python,Pandas,我想有一个条件,如果“预测”中的值小于0,那么“返回”=0 这是我的数据框 returns prediction 0 -1.005705 0.999999 1 0.005952 1.000000 2 0.000000 -0.999891 3 0.020000 -1.000000 4 0.000000 1.000000 5 0.005000 1.000000 6 0.000000 -0.999984 7 -0.0058
returns prediction
0 -1.005705 0.999999
1 0.005952 1.000000
2 0.000000 -0.999891
3 0.020000 -1.000000
4 0.000000 1.000000
5 0.005000 1.000000
6 0.000000 -0.999984
7 -0.005813 -0.999871
我试过:
df.returns[if df.pred < 0 : df.returns = 0]
df.returns[如果df.pred<0:df.returns=0]
但我发现语法错误
编辑:
我自己计算出来的返回[pred<0]=0
您可以使用:
谢谢你,耶兹雷尔,在你发布这篇文章之前,我已经知道了。谢谢,虽然你的方式很有趣
df.loc[df.prediction < 0, 'return'] = 0
print df
returns prediction return
0 -1.005705 0.999999 NaN
1 0.005952 1.000000 NaN
2 0.000000 -0.999891 0
3 0.020000 -1.000000 0
4 0.000000 1.000000 NaN
5 0.005000 1.000000 NaN
6 0.000000 -0.999984 0
7 -0.005813 -0.999871 0
df.loc[df.prediction < 0, 'returns'] = 0
print df
returns prediction
0 -1.005705 0.999999
1 0.005952 1.000000
2 0.000000 -0.999891
3 0.000000 -1.000000
4 0.000000 1.000000
5 0.005000 1.000000
6 0.000000 -0.999984
7 0.000000 -0.999871