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 。