Как я могу получить имя столбца индекса в пандах Python? Вот пример кадра данных:
Column 1
Index Title
Apples 1
Oranges 2
Puppies 3
Ducks 4
Я пытаюсь получить / установить заголовок индекса данных. Вот что я попробовал:
import pandas as pd
data = {'Column 1' : [1., 2., 3., 4.],
'Index Title' : ["Apples", "Oranges", "Puppies", "Ducks"]}
df = pd.DataFrame(data)
df.index = df["Index Title"]
del df["Index Title"]
print df
Кто-нибудь знает, как это сделать?
python
pandas
dataframe
columnname
Радикальный Эдвард
источник
источник
pd.DataFrame(values,index={"INDEX_NAME":index_values})
. Я не понимаю, почему это не разрешено или не реализовано?@denfromufa
что он должен принимать dict в качестве параметров для построения из pandas.DataFramedf.index.names
вместоdf.index.name
.Ты можешь использовать
rename_axis
, для удаления установитьNone
:Новая функциональность хорошо работает в цепочках методов.
Вы также можете переименовать имена столбцов с параметром
axis
:От версии
pandas 0.24.0+
возможно использование параметраindex
иcolumns
:Удаление имен индекса и столбцов означает установить его на
None
:Если
MultiIndex
только в индексе:Удаление имен индексов и столбцов означает установить его в
None
:В
MultiIndex
индексах и столбцах необходимо работать с.names
вместо.name
и набора по списку или кортежи:Множественное число необходимо для проверки / установки значений:
Удаление имен индексов и столбцов означает установить его в
None
:И решение @Jeff:
источник
df.index.rename('foo', inplace=True)
см. Pandas.pydata.org/pandas-docs/stable/generated/…df.index.name
должен сделать свое дело.В Python есть
dir
функция, которая позволяет вам запрашивать атрибуты объекта.dir(df.index)
было полезно здесь.источник
Используйте
df.index.rename('foo', inplace=True)
для установки имени индекса.Кажется, этот API доступен начиная с версии 0.13 .
источник
Если вы не хотите создавать новую строку, а просто поместите ее в пустую ячейку, используйте:
В противном случае используйте:
источник
df.columns.values
также дайте нам имена столбцовисточник
Решение для мультииндексов находится внутри циклопического ответа Джезраэль, но мне потребовалось некоторое время, чтобы найти его, поэтому я публикую новый ответ:
df.index.names
дает имена мультииндекса (как Frozenlist).источник
Чтобы просто получить имена столбцов индекса
df.index.names
будет работать как для одного индекса, так и для MultiIndex, начиная с самой последней версии панд.Как человек, который нашел это, пытаясь найти лучший способ получить список имен индексов + имен столбцов, я нашел бы этот ответ полезным:
Это работает без индекса, индекса с одним столбцом или MultiIndex. Это позволяет избежать вызова метода reset_index (), который приводит к ненужному снижению производительности для такой простой операции. Я удивлен, что нет встроенного метода для этого (который я встречал). Я предполагаю, что мне это нужно чаще, потому что я перемещаю данные из баз данных, где индекс информационного кадра отображается на первичный / уникальный ключ, но на самом деле это просто еще один столбец для меня.
источник
Задание имени индекса также может быть выполнено при создании:
источник