我有一个多索引pandas数据框,数据如下:
dataMyDF.ix[0:3]
dataMyDF
col1 col2 col3 col4 col5
W W 8.0 29.0 4.0 0.291155
P I 8.0 29.0 7.0 0.108057
N D 2.0 14.0 16.0 0.247355
其中col1到col5是索引,data是值。多指数可以看作:
shape.index[0]
(u'W', u'W', 8.0, 29.0, 4.0)
如何从dataMyDF中提取数据:
即我想做类似的事情:
indexArr = [(W, W, 8.0, 29.0, 4.0), (N, D, 2.0, 14.0, 16.0)]
dataMyDF[indexArr]
获取[0.291155, 0.247355]
答案 0 :(得分:1)
使用loc
In [1062]: df.loc[indexArr]
Out[1062]:
dataMyDF
col1 col2 col3 col4 col5
W W 8.0 29.0 4.0 0.291155
N D 2.0 14.0 16.0 0.247355
In [1063]: df.loc[indexArr].values
Out[1063]:
array([[ 0.291155],
[ 0.247355]])
代替.ix
的 .loc
也可以。