我有一个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'
我错了什么?
答案 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']
访问一行。