Лучший способ установить имя индекса в Python DataFrame Pandas - PullRequest
1 голос
/ 04 ноября 2019

При создании пустого фрейма данных в Pandas, по-видимому, есть как минимум 2 способа задать имя индекса.

df = pd.DataFrame(columns=['col1',  'col2'])
df.index.name = 'index name'



df = pd.DataFrame(columns=['index name', 'col1',  'col2'])
df.set_index('index name', inplace=True)

Один из них предпочтительнее другого? Есть ли третий способ сделать это в 1 строке кода вместо 2?

1 Ответ

2 голосов
/ 04 ноября 2019

Я думаю, что здесь лучше всего использовать цепочку методов :

Основная команда pandas теперь рекомендует использовать цепочку методов . Это стиль программирования, в котором вы объединяете несколько вызовов методов в один оператор. Это позволяет передавать промежуточные результаты из одного метода в другой, а не сохранять промежуточные результаты с использованием переменных.

Другой вариант DataFrame.rename_axis:

df = pd.DataFrame(columns=['col1',  'col2']).rename_axis('index name')

Или измените ваше второе решение:

df = pd.DataFrame(columns=['index name', 'col1',  'col2']).set_index('index name')

inplace не рекомендуется - ссылка :

Основная команда pandas не рекомендуетиспользование параметра inplace , и в конечном итоге он будет объявлен устаревшим (что означает «запланировано удаление из библиотеки»). Вот почему:

inplace не будет работать в цепочке методов.
Использование inplace часто не препятствует созданию копий, в отличие отчто означает название.
Удаление опции inplace уменьшит сложность кодовой базы pandas.

...