例如,我想将“国家”列中的“大韩民国”更改为“韩国”,但是看起来“大韩民国”仍然保留在这里:


df[df['Country'] == 'Republic of Korea']['Country'] = 'South Korea'
df[df['Country'] == 'Republic of Korea']['Country']


164    Republic of Korea
Name: Country, dtype: object

最佳答案

您正在使用copy (slice) of original dataframe。尝试使用dataframe.loc

df.loc[df['Country'] == 'Republic of Korea', 'Country'] = 'South Korea'


运行代码时也应该有一个警告:


  试图在DataFrame的切片副本上设置一个值。
  
  尝试改用.loc [row_indexer,col_indexer] = value

关于python - 为什么不能使用 bool 掩码修改数据框中的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43059090/

10-16 03:10