从pandas多索引数据帧中提取数据

时间:2017-02-17 16:55:20

标签: pandas dataframe

我有一个多索引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]

1 个答案:

答案 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也可以。