私はpandas multiindex DataFrameを持っており、特定のインデックスレベルでその値の分位数を計算したいと考えています。例を挙げて説明するほうがよいでしょう。パンダmultiindex DataFrameで分位数を計算するには?
まずは、データフレームを作成してみましょう:
import itertools
import pandas as pd
import numpy as np
item = ('A', 'B')
item_type = (0, 1, 2)
location = range(5)
idx = pd.MultiIndex.from_tuples(list(itertools.product(item, item_type, location)),names=('Item', 'Type', 'Location'))
df = pd.DataFrame(np.random.randn(len(idx), 3), index=idx,columns=('C1', 'C2', 'C3'))
df
は、我々は各項目の列の値の中央値の表を計算し、すべての場所を上書きしたいとしましょう。これは、組み込み.median方法で行うのに十分に簡単です:
median_df = df.median(level=[0,1])
median_df
これはマルチインデックス=(項目、タイプ)と3列のデータフレームを生成します。これは、.mean、.max、.minなどのほとんどの一般的な関数で動作します。
しかし、それはうまくいきません.quantile - 不思議なことに、quantileに 'level'パラメータがありません。
中央値などの場合と同じ方法で、指定した分位点をどのように計算できますか?
はい、これは機能します。ありがとうございました。 – germ