【问题标题】:Python, pandas, boolean indexer on multiindexPython,熊猫,多索引上的布尔索引器
【发布时间】:2018-01-13 07:11:10
【问题描述】:

让我们考虑以下 pandas DataFrame:

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)

我想使用布尔索引器选择某些行: 在这里,我想使用dayofweek!=5 仅选择一周中某些天出现的行。

我该怎么做?

【问题讨论】:

    标签: python pandas indexing multi-index


    【解决方案1】:

    df.index 上使用get_level_values 你可以

    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
    

    【讨论】:

    • 我的回答完全一样。你现在是最快的手指。 +1
    猜你喜欢
    • 2021-05-17
    • 2017-08-25
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    • 2021-03-19
    • 2016-10-16
    • 2019-01-19
    • 1970-01-01
    相关资源
    最近更新 更多