Pandas:根据条件更改单元格的值

时间:2021-05-25 09:26:21

标签: python-3.x pandas dataframe

STRINGS      NUMBER         
hello        10
byebye       9
hello        20
hello        21

坚持这个:

NUMBER 单元格的值大于 10 且 STRINGS 中的 'hello' 处于相同索引时,更改其值。

我试过了:

df.loc[df['STRING'] == 'hello' > 10, 'NUMBER'] = 100

df.loc[x.STRING.str.contains('hello') > 10, 'NUMBER'] = 100

结果应该是这样的:

 STRINGS      NUMBER
  hello        10
  byebye       9
  hello        100
  hello        100

有什么建议吗?谢谢!

2 个答案:

答案 0 :(得分:2)

对于按位 (),您需要使用 &AND 链接两个条件:

df.loc[(df['STRING'] == 'hello') & (df['NUMBER'] > 10), 'NUMBER'] = 100

答案 1 :(得分:1)

通过np.where

df['NUMBER'] = np.where((df['STRINGS'] == 'hello') & (df['NUMBER'] > 10), 100, df['NUMBER'])
相关问题