pandas索引栏目标题或名称

如何获得Pythonpandas的索引列名称? 以下是一个示例数据框:

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 

有人知道怎么做吗?

您可以通过其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 

新function在方法链中运行良好。

 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.0 
 print 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)在这里很有帮助。

如果你不想创build一个新的行,只是把它放在空单元格然后使用:

 df.columns.name = 'foo' 

否则使用:

 df.index.name = 'foo' 

df.columns.values也给我们列名

使用df.index.rename('foo', inplace=True)来设置索引名称。

似乎这个API是可用的,因为大pandas0.13 。