2016-11-04 114 views
2
energy.loc['Republic of Korea'] 

我想将'韩国'指数的值改为'韩国'。 但数据帧太大,无法更改每个索引值。我如何改变这个单一值?如何更改熊猫数据框中的单个索引值?

+3

你的问题还不清楚,你想改变'Republic of Korea''的所有实例,或者你想知道如何更新很多不同的索引值?请发表一个具有代表性的例子,包括你的代码和期望的结果,除了你可以做'df.index.set_value(df.index,'Republic of Korea','South Korea')' – EdChum

回答

19

你想要做这样的事情:

as_list = df.index.tolist() 
idx = as_list.index('Republic of Korea') 
as_list[idx] = 'South Korea' 
df.index = as_list 

基本上,你得到的索引列表,改变一个元素,替换现有的索引。

1

下面是基于set_value

df = df.reset_index() 
df.drop('index', axis = 1, inplace=True) 
index = df.index[df["Country"] == "Republic of Korea"] 
df.set_value(index, "Country", "South Korea") 
df = df.set_index("Country") 
df["Country"] = df.index 
1

另一个想法这里是个不错的选择,在列使用replace

df.reset_index(inplace=True) 
df.drop('index', axis = 1, inplace=True) 
df["Country"].replace("Republic of Korea", value="South Korea", inplace=True) 
df.set_index("Country", inplace=True) 
相关问题