首页 > 解决方案 > 如何重新分配与列表匹配的系列中的值

问题描述

我有一系列需要重命名的各种名称。需要更改的值包含在列表中。

change_list = ['b', 'c']
new_name = 'x'

df = pd.DataFrame([
    {'sp': 'a'},
    {'sp': 'b'},
    {'sp': 'c'},
    {'sp': 'b'},
    {'sp': 'c'}])

df[df['sp'].isin(change_list)]['sp'] = new_name

结果应该是新名称分配给与列表匹配的每个“sp”值的数据框。

标签: pythonpandas

解决方案


只需删除['sp']:)

change_list = ['b', 'c']
new_name = 'x'

df = pd.DataFrame([
    {'sp': 'a'},
    {'sp': 'b'},
    {'sp': 'c'},
    {'sp': 'b'},
    {'sp': 'c'}])

df[df['sp'].isin(change_list)] = new_name

推荐阅读