重命名熊猫系列中的某个值

fee*_*ine 1 python series pandas

我有以下熊猫系列:

print(df.head())
          Country  Energy Supply Energy Supply per Capita  % Renewable
0     Afghanistan   3.210000e+08                       10    78.669280
1         Albania   1.020000e+08                       35   100.000000
2         Algeria   1.959000e+09                       51     0.551010
3  American Samoa            NaN                      ...     0.641026
4         Andorra   9.000000e+06                      121    88.695650
Run Code Online (Sandbox Code Playgroud)

我怎样才能将阿富汗重新命名为阿富汗?我可以设置索引:

df = df.set_index('Country')
Run Code Online (Sandbox Code Playgroud)

然后尝试按以下方式重命名国家/地区:

df['Afghanistan'].rename('Afghanistan_renamed')
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

jez*_*ael 6

如果需要更换,您可以使用index:

df = df.set_index('Country')
df = df.rename(index={'Afghanistan':'Afghanistan_renamed'})
print (df)
                     Energy Supply Energy Supply per Capita  % Renewable
Country                                                                 
Afghanistan_renamed   3.210000e+08                       10    78.669280
Albania               1.020000e+08                       35   100.000000
Algeria               1.959000e+09                       51     0.551010
American Samoa                 NaN                      ...     0.641026
Andorra               9.000000e+06                      121    88.695650
Run Code Online (Sandbox Code Playgroud)

replace列:

df['Country'] = df['Country'].replace({'Afghanistan':'Afghanistan_renamed'})
df = df.set_index('Country')
print (df)
                     Energy Supply Energy Supply per Capita  % Renewable
Country                                                                 
Afghanistan_renamed   3.210000e+08                       10    78.669280
Albania               1.020000e+08                       35   100.000000
Algeria               1.959000e+09                       51     0.551010
American Samoa                 NaN                      ...     0.641026
Andorra               9.000000e+06                      121    88.695650
Run Code Online (Sandbox Code Playgroud)

  • 我认为是的,仅在第二个解决方案中省略`df = df.set_index('Country')` (2认同)