Python Pandas中是否有方法将.rename()应用于数据帧的筛选子集?

Python Pandas中是否有方法将.rename()应用于数据帧的筛选子集?,python,pandas,Python,Pandas,我有一个数据帧,df,具有标准的宽格式: df: 'state' | 'population' | 'region' 0 'CA' | 10000 | 'west' 1 'UT' | 6000 | 'west' 2 'NY' | 8500 | 'east' 我需要能够重命名state列中与我设置的某些条件相匹配的某些值。例如,如果region变量与“east”匹配,我需要将“NY”的案例重命名为“n

我有一个数据帧,
df
,具有标准的宽格式:

df: 
     'state' | 'population' | 'region'
0    'CA'    | 10000        | 'west' 
1    'UT'    | 6000         | 'west'
2    'NY'    | 8500         | 'east'
我需要能够重命名
state
列中与我设置的某些条件相匹配的某些值。例如,如果region变量与“east”匹配,我需要将“NY”的案例重命名为“newyork”。我希望避免将数据帧重新切分和连接在一起

我尝试使用下面的代码对数据帧进行子集设置,但重命名似乎没有正确应用

 region_filter = df['region'] == 'east'
 df[region_filter] = df.loc[region_filter, 'state'].rename({'NY': 'New York'})

仅当尝试更改轴标签时,才应应用重命名。Pandas的函数用于映射数据帧值


此外,第二行应为
df.loc[region\u filter,'state']=df.loc[region\u filter,'state'].rename({'NY':'New York'})
,以避免形状不匹配错误。

rename
更改
列/轴的名称。你想要它还是要替换它?我在脑子里把这两个都换了,不记得重命名是针对列/轴的。谢谢