は、私は、マルチインデックス付きのデータフレームパンダでサブデータフレームを集計するにはどうすればよいですか?
In [1]: index = pd.MultiIndex.from_tuples([(i,j) for i in range(3)
: for j in range(1+i)], names=list('ij'))
: df = pd.DataFrame(0.1*np.arange(2*len(index)).reshape(-1,2),
: columns=list('xy'), index=index)
: df
Out[1]:
x y
i j
0 0 0.0 0.1
1 0 0.2 0.3
1 0.4 0.5
2 0 0.6 0.7
1 0.8 0.9
2 1.0 1.1
2-平準化していると私はすべてのサブデータフレームにカスタム関数を実行したいとします
In [2]: def my_aggr_func(subdf):
: return subdf['x'].mean()/subdf['y'].mean()
:
: level0 = df.index.levels[0].values
: pd.DataFrame({'mean_ratio': [my_aggr_func(df.loc[i]) for i in level0]},
: index=pd.Index(level0, name=index.names[0]))
Out[2]:
mean_ratio
i
0 0.000000
1 0.750000
2 0.888889
df.groupby('i').agg(__something__)
でそれを行うためのエレガントな方法はあります何か似たようなもの? DataFrame
での作業
ありがとうございました!私は「適用」を完全に忘れていました。 –