Python 数据帧中行的条件操作

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

我想有一个条件,如果“预测”中的值小于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.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