Pandas数据帧条件列更新

ani*_*lca 2 python dataframe pandas

这是我的数据帧:

                ACC  Count  SumOneLotPNL  MinAVG  U   PerLotPNL   Y
AS                                                                 
30106EURTRY1  30106      1         34.84     5.0  A   34.840000   3
30106USDTRY0  30106     16      -3018.18  8190.0  T -261.623333   2
30106USDTRY1  30106      6       1804.28  2069.0  A  248.820000   6
30106WTIOIL0  30106     43      -8410.00  1160.0  T -331.410000  23
30106WTIOIL1  30106     80       6600.00  1045.8  A   80.124000  37
Run Code Online (Sandbox Code Playgroud)

如果列U的值是T,我想在同一行中将列Y的值乘以-1.我怎样才能做到这一点?

谢谢,

Nic*_*eli 7

.loc在选择满足条件的子集之后使用,然后将Y中的相应行与-1 逐步相乘以查看效果:

df.loc[df['U'] == 'T', 'Y'] *= -1
df
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

注意:符号*=将变量与值相乘,从而使结果成为变量.