Python 基于另一列的值对数据的一列执行条件操作

Python 基于另一列的值对数据的一列执行条件操作,python,pandas,dataframe,Python,Pandas,Dataframe,我有熊猫数据框,下面有两列 df = pd.DataFrame({'quantity':[15, 30, 35, 20], 'sign':[1,1,2,1]}) 我想应用一个条件语句,并将每行中的数量值乘以-1,如果该行中相应的符号值等于2。我不想创建新列。我只想将其应用于数量列 我已尝试使用.loc和.apply(lamda x:),但我一定没有正确应用它们。非常感谢您的帮助。与mask by一起使用,以获得相等和按标量的倍数: df = pd.DataFrame({'quantity':[

我有熊猫数据框,下面有两列

df = pd.DataFrame({'quantity':[15, 30, 35, 20], 'sign':[1,1,2,1]})
我想应用一个条件语句,并将每行中的
数量
值乘以-1,如果该行中相应的
符号
值等于2。我不想创建新列。我只想将其应用于
数量

我已尝试使用
.loc
.apply(lamda x:)
,但我一定没有正确应用它们。非常感谢您的帮助。

与mask by一起使用,以获得相等和按标量的倍数:

df = pd.DataFrame({'quantity':[15, 30, 35, 20], 'sign':[1,1,2,1]})

df.loc[df['sign'].eq(2), 'quantity'] *=  - 1
print (df)
   quantity  sign
0        15     1
1        30     1
2       -35     2
3        20     1

谢谢你的帮助。那很容易。我是一个python noob,以前主要在R工作。