2017-10-31 14 views
0

私はマルチインデックスパンダのデータフレームを持っており、第1レベルのインデックス(ここではxと表示され、第2レベルの特定のインデックスで示されています。グループ化した後.describe()関数の平均パンダス.locマルチインデックスのみ第2レベル

df.groupby(df1.series).describe().loc[*x*,'mean'] 

を、私はそれを行うにはどうすればよい

おかげ

+0

あなたは 'df.groupby(df1.series).describe()LOC [(* X * '意味')]'と思いますか? – jezrael

+0

https://pandas.pydata.org/pandas-docs/stable/advanced.html#hierarchical-indexing-multiindex – MaxU

答えて

1

あなたが選択のためのタプルを使用することができます。?

df = pd.DataFrame({'x':[4,5,7,6,10], 'series':list('xxxyy')}) 
b = df.x.groupby(df.series).describe().stack() 
print (b) 
series  
x  count  3.000000 
     mean  5.333333 
     std  1.527525 
     min  4.000000 
     25%  4.500000 
     50%  5.000000 
     75%  6.000000 
     max  7.000000 
y  count  2.000000 
     mean  8.000000 
     std  2.828427 
     min  6.000000 
     25%  7.000000 
     50%  8.000000 
     75%  9.000000 
     max  10.000000 
dtype: float64 

c = b.loc[('x','mean')] 
print (c) 
5.33333333333 

すべての手段がxsを使用したい場合:。

c = b.xs('mean', level=1) 
print (c) 
series 
x 5.333333 
y 8.000000 
dtype: float64 
+0

パーフェクト。前にxsを読んではいけない。おかげで –

+0

あなたはようこそ! – jezrael

+0

私の答えが役に立ちましたら、[accept](http://meta.stackexchange.com/a/5235/295067)を忘れないでください。答えの横にあるチェックマーク( '✓')をクリックして、灰色で塗りつぶされた。ありがとう。 – jezrael

関連する問題