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

Я хочу изменить значение индекса из «Республика Корея» в «Южная Корея». Но размер данных слишком велик, и невозможно изменить каждое значение индекса. Как изменить только одно значение?Как изменить значение одного индекса в pandas dataframe?

+3

Ваш вопрос непонятен, вы хотите изменить все экземпляры «Республики Корея» или хотите узнать, как обновлять множество разных значений индекса? Пожалуйста, разместите представительный пример и укажите свой код и желаемый результат, кроме того, вы можете сделать 'df.index.set_value (df.index,« Республика Корея »,« Южная Корея ») – 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) 
Смежные вопросы