Pandas在一定条件下繁殖

2024-04-25 23:30:36 发布

您现在位置:Python中文网/ 问答频道 /正文

当前Df为:

XXXX    apples  -1000000    Bob
XXXX    oranges -1000000    Sam
AAAA    apples  -2400000    Bob
XXXX    pears   1000000 Bob
XXXX    pears   1000000 Sam
XXXX    grapes  1000000 Bob
AAAA    grapes  1000000 Bob
XXXX    apples  1200000 Bob
AAAA    apples  1900000 Sam
XXXX    grapes  -1100000    Sam

如果第一列等于'XXXX',第四列等于'Bob',我想将第三列中的QUNTITY乘以-1

我尝试过在条件下使用loc和过滤,但似乎无法正确实现


Tags: dfsam条件locbobaaaaxxxxoranges
2条回答

在适当的位置执行并维护语法-

df['col_3'] = df.where((df['col_1'] == 'XXXX') & (df['col_4'] == 'Bob'))['col_3'] * -1

您可以使用^{}

df['col_3'] = np.where((df['col_1']=='XXXX') & (df['col_4']=='Bob'), -1*df['col_3'], df['col_3'])

收益率:

  col_1    col_2    col_3 col_4
0  XXXX   apples  1000000   Bob
1  XXXX  oranges -1000000   Sam
2  AAAA   apples -2400000   Bob
3  XXXX    pears -1000000   Bob
4  XXXX    pears  1000000   Sam
5  XXXX   grapes -1000000   Bob
6  AAAA   grapes  1000000   Bob
7  XXXX   apples -1200000   Bob
8  AAAA   apples  1900000   Sam
9  XXXX   grapes -1100000   Sam

相关问题 更多 >

    热门问题