1
私はマルチインデックスのデータフレームがある場合:フィルタリング
import pandas as pd
df = pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],columns=['a','b','c']).set_index(['a','b'])
が、私は単純に、たとえば、カラムのデータフレームをフィルタリングすることができます。
しかし行うにはインデックスのレベルで同じ、私が行うことができない、「B」と言う:
df[df.b>4]
は、代わりに私が行うことができます。
df[df.index.get_level_values('b')>4]
これを行う方法はそれほど冗長ではありませんか?
良いものをありがとう
query
を使用することができます。ただし、get_level_valuesと比較して20%のパフォーマンス上のペナルティがあるようです。 – dlmそうです、[クエリ](https://pandas.pydata.org/pandas-docs/stable/indexing.html#performance-of-query)は、より大きなデータフレームでうまく機能します。 – Zero