2017-08-05 46 views
0

让我们考虑下面的熊猫数据框:的Python,熊猫,上多指标布尔索引

from pandas import Timestamp 
dic={'volume': {('CSC', Timestamp('2016-08-06 00:00:00'), 'CSCF7'): 0, 
    ('CSC', Timestamp('2016-08-07 00:00:00'), 'CSCG7'): 0, 
    ('CSC', Timestamp('2016-08-08 00:00:00'), 'CSCH7'): 0, 
    ('DA', Timestamp('2016-08-06 00:00:00'), 'DCF7'): 0, 
    ('DA', Timestamp('2016-08-07 00:00:00'), 'DCG7'): 0, 
    ('DA', Timestamp('2016-08-08 00:00:00'), 'DCH7'): 0, 
    ('GF', Timestamp('2016-08-06 00:00:00'), 'GFF7'): 0, 
    ('GF', Timestamp('2016-08-07 00:00:00'), 'GFH7'): 0, 
    ('GF', Timestamp('2016-08-08 00:00:00'), 'GFJ7'): 0}} 

import pandas as pd 
df=pd.DataFrame(dic) 

enter image description here

我想使用布尔索引选择某些行: 在这里,我想只有选择通过使用dayofweek!=5在一周中的某几天发生的行。

我该怎么做?

回答

2

df.index可以

In [367]: df.loc[df.index.get_level_values(1).dayofweek != 5] 
Out[367]: 
         volume 
CSC 2016-08-07 CSCG7  0 
    2016-08-08 CSCH7  0 
DA 2016-08-07 DCG7  0 
    2016-08-08 DCH7  0 
GF 2016-08-07 GFH7  0 
    2016-08-08 GFJ7  0 
+0

我的回答是完全一样的使用get_level_values。你现在是最快的手指。 +1 – Dark