【发布时间】:2019-02-07 21:44:48
【问题描述】:
我有一个带有命名索引的 Pandas DataFrame。我想将它传递给一段代码,该代码需要一个 DataFrame、一个列名和其他一些东西,并做一堆涉及该列的工作。仅在这种情况下,我要突出显示的列是索引,但是将索引的标签赋予这段代码不起作用,因为您无法像提取常规列那样提取索引。例如,我可以这样构造一个 DataFrame:
import pandas as pd, numpy as np
df=pd.DataFrame({'name':map(chr, range(97, 102)), 'id':range(10000,10005), 'value':np.random.randn(5)})
df.set_index('name', inplace=True)
结果如下:
id value
name
a 10000 0.659710
b 10001 1.001821
c 10002 -0.197576
d 10003 -0.569181
e 10004 -0.882097
现在我该如何访问name 列?
print(df.index) # No problem
print(df['name']) # KeyError: u'name'
我知道有一些解决方法,例如复制列或将索引更改为其他内容。但是有没有更简洁的方法,比如某种形式的列访问,将索引与其他所有内容一样处理?
【问题讨论】:
标签: python pandas dataframe indexing series