我如何获得在python熊猫索引列名?这是一个数据框架的例子:

             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

有人知道怎么做吗?


当前回答

设置索引名也可以在创建时完成:

pd.DataFrame(data={'age': [10,20,30], 'height': [100, 170, 175]}, index=pd.Series(['a', 'b', 'c'], name='Tag'))

其他回答

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

df.columns.name = 'foo'

否则使用:

df.index.name = 'foo'

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

这个api似乎从熊猫0.13开始就可用了。

设置索引名也可以在创建时完成:

pd.DataFrame(data={'age': [10,20,30], 'height': [100, 170, 175]}, index=pd.Series(['a', 'b', 'c'], name='Tag'))

多指数的解决方案在jezrael的循环答案中,但我花了一段时间才找到它,所以我发布了一个新的答案:

df.index.names给出多索引的名称(作为Frozenlist)。

values还提供了列名