pandas在多索引数据帧中建立索引

时间:2014-05-27 10:32:17

标签: python pandas

我有一个excel文件:

<>   1    2    3
A
B
C

我的数据在每个单元格中。

在另一张表中我确实有我的描述:

    name    pH    salt    id
A1    sample    8.5    50    1
A2    sample    8.5    50    1
A3    sample    8.5    50    2
B1    sample    7.5    50    2

阅读数据和标签:

d = pd.read_excel(data_name,'280', index_col = 0)
d_label =pd.read_excel(data_name,'label', index_col = 0)

从数据创建列表:

data = list(chain.from_iterable(d.values.tolist()))

制作多索引:

index = pd.MultiIndex.from_tuples(tuple(d_label.values), names=d_label.columns)

当我创建一个系列时:

s = pd.Series(data, index = index)

我现在可以像往常一样索引系列。 E.g。

s['some_name']

但如果我这样做:

df = pd.DataFrame(data, index = index)

df['some_name']

我收到错误:

'no item named some_name'

我错了什么?

1 个答案:

答案 0 :(得分:1)

请参阅基本索引文档:http://pandas.pydata.org/pandas-docs/stable/indexing.html#basics

为系列编制索引时,s['some_name']将使用标签some_name访问
在索引DataFrame时,df['some_name']将使用标签some_name访问(而不是行索引)。您可以df.loc['some_name']访问一行。

相关问题