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