Название или имя столбца индекса Pandas
Как мне получить имя столбца индекса в python pandas? Вот пример фрейма данных:
Column 1
Index Title
Apples 1
Oranges 2
Puppies 3
Ducks 4
то, что я пытаюсь сделать, это получить / установить заголовок индекса dataframe. Вот что я попробовал:
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
кто-нибудь знает, как это сделать?
6 ответов:
Вы можете просто получить/установить указатель через его
nameсвойстваIn [7]: df.index.name Out[7]: 'Index Title' In [8]: df.index.name = 'foo' In [9]: df.index.name Out[9]: 'foo' In [10]: df Out[10]: Column 1 foo Apples 1 Oranges 2 Puppies 3 Ducks 4
версии
0.18.0можно использоватьrename_axis:print df Column 1 Index Title Apples 1.0 Oranges 2.0 Puppies 3.0 Ducks 4.0новая функциональность хорошо работает в цепочках методов.
print df.rename_axis('foo') Column 1 foo Apples 1.0 Oranges 2.0 Puppies 3.0 Ducks 4.0вы также можете переименовать имена столбцов с параметром
axis:print df Col Name Column 1 Index Title Apples 1.0 Oranges 2.0 Puppies 3.0 Ducks 4.0print df.rename_axis('foo').rename_axis("bar", axis="columns") bar Column 1 foo Apples 1.0 Oranges 2.0 Puppies 3.0 Ducks 4.0 print df.rename_axis('foo').rename_axis("bar", axis=1) bar Column 1 foo Apples 1.0 Oranges 2.0 Puppies 3.0 Ducks 4.0
df.index.nameследует сделать трюк.Python имеет
dirфункция, которая позволяет запрашивать атрибуты объекта.dir(df.index)здесь пригодился.
Если вы не хотите создавать новую строку, а просто поместите ее в пустую ячейку, то используйте:
df.columns.name = 'foo'в противном случае используйте:
df.index.name = 'foo'
использовать
df.index.rename('foo', inplace=True)задать имя индекса.Кажется, этот api доступен с панды 0.13.
Comments