我如何获得在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
有人知道怎么做吗?
如果只获取索引列名,df.index.names将适用于最新版本的pandas的单个索引或MultiIndex。
作为一个在试图找到获得索引名+列名列表的最佳方法时发现这一点的人,我会发现这个答案很有用:
names = list(filter(None, df.index.names + df.columns.values.tolist()))
这适用于无索引、单列索引或MultiIndex。它避免调用reset_index(),因为对于这样一个简单的操作,reset_index()会造成不必要的性能损失。我很惊讶没有一个内置的方法(我遇到过)。我想我经常需要这个,因为我从数据库中穿梭数据,其中dataframe索引映射到一个主键/唯一键,但对我来说实际上只是另一个列。
如果只获取索引列名,df.index.names将适用于最新版本的pandas的单个索引或MultiIndex。
作为一个在试图找到获得索引名+列名列表的最佳方法时发现这一点的人,我会发现这个答案很有用:
names = list(filter(None, df.index.names + df.columns.values.tolist()))
这适用于无索引、单列索引或MultiIndex。它避免调用reset_index(),因为对于这样一个简单的操作,reset_index()会造成不必要的性能损失。我很惊讶没有一个内置的方法(我遇到过)。我想我经常需要这个,因为我从数据库中穿梭数据,其中dataframe索引映射到一个主键/唯一键,但对我来说实际上只是另一个列。