Я думаю, что здесь лучше всего использовать цепочку методов :
Основная команда 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.