我有一个数据框df
,具有标准的宽格式:
df:
'state' | 'population' | 'region'
0 'CA' | 10000 | 'west'
1 'UT' | 6000 | 'west'
2 'NY' | 8500 | 'east'
我需要能够重命名state
列中与我设置的某些条件匹配的某些值。例如,如果区域变量匹配“东”,我需要将“ NY”的情况重命名为“ New York”。我想避免将数据框切片和连接在一起。
我尝试使用下面的代码对数据框进行子集设置,但重命名似乎无法正确应用。
region_filter = df['region'] == 'east'
df[region_filter] = df.loc[region_filter, 'state'].rename({'NY': 'New York'})
答案 0 :(得分:0)
仅在尝试更改轴标签时才应应用重命名。熊猫的replace()函数用于映射数据框值。
此外,第二行应读为df.loc[region_filter, 'state'] = df.loc[region_filter, 'state'].rename({'NY': 'New York'})
,以避免形状不匹配错误。