#pandas #dataframe #indexing
#pandas #фрейм данных #индексирование
Вопрос:
Есть ли способ переименовать индекс в многоиндексном фрейме данных?
Пример
import pandas as pd
df = pd.DataFrame([
['green','M', 10.1, 'class2'],
['red', 'L', 13.5, 'class1']])
df.columns = ['color', 'size', 'price', 'classifier']
df.set_index(['color','size'], inplace=True)
Дает
price classifier
color size
green M 10.1 class2
red L 13.5 class1
Я хочу переименовать индекс ‘size’, чтобы он стал size_modified
df.rename(index={'size': 'Size_Mod'}, inplace=True)
не сработало
Ответ №1:
вам нужно df.rename_axis
вместо df.rename
:
df = df.rename_axis(index={'size': 'Size_Mod'})
print(df)
price classifier
color Size_Mod
green M 10.1 class2
red L 13.5 class1
Ответ №2:
Другой способ, убедитесь, что порядок имен правильный. Но у него меньший отпечаток пальца!
df.index.names = ['color','Size_Mod']