python - 为什么无法使用 bool 掩码修改数据框中的值?

标签 python dataframe

例如,我想将“国家/地区”列中的“韩国”更改为“韩国”,但看起来“韩国”仍然保留在那里:

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'

此外,当您运行代码时应该会出现警告:

A value is trying to be set on a copy of a slice from a DataFrame.

Try using .loc[row_indexer,col_indexer] = value instead

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

相关文章:

python - 使用 python 将许多变量附加到 MySQL

python - 创建一个循环来找出前 20 天内的销售数量

python - 使用 Matplotlib、PyQt 和 Threading 进行实时绘图以 python 崩溃结束

python - Pandas 替换功能 - 插入 pad 0 到 3 个数字

python - python 中的类型函数重载

python - 不明白为什么一直显示 splinter 的图片图标

python - 将数据框一分为二并使用代字号 ~ 作为变量

python - 写入Excel后如何将带有符号的值保留为数据框中的数字?

r - 如何根据数据框名称中的单个字符在数据框中添加新列?

python - Pandas 在分配索引时向 DataFrame 添加额外的行