重命名 pandas 系列中的特定值
rename certain value in pandas series
我有以下熊猫系列:
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
如何将阿富汗重命名为 Afghanistan_new?
我可以设置索引:
df = df.set_index('Country')
然后尝试按以下方式重命名国家/地区:
df['Afghanistan'].rename('Afghanistan_renamed')
但是没用。
如果需要可以使用替换 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
对于 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
您可以只使用 replace() 而不是 rename():
df['Country'].replace({'Afghanistan':'Afghanistan_renamed'}, inplace=True)
我有以下熊猫系列:
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
如何将阿富汗重命名为 Afghanistan_new? 我可以设置索引:
df = df.set_index('Country')
然后尝试按以下方式重命名国家/地区:
df['Afghanistan'].rename('Afghanistan_renamed')
但是没用。
如果需要可以使用替换 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
对于 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
您可以只使用 replace() 而不是 rename():
df['Country'].replace({'Afghanistan':'Afghanistan_renamed'}, inplace=True)