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工作。