2017-07-26 1 views
2

は、私はその後、numberで今複数インデックスの時系列データをグループ化する方法は?

index = pd.MultiIndex.from_arrays([list("ABCD"),("one","one","two","two")],names=['letter','number']) 

testdf.columns = index 

testdf 
Out[44]: 
letter    A   B   C   D 
number   one  one  two  two 
2017-01-01 0.084624 -0.371352 -1.013843 -1.102199 
2017-01-02 0.390855 -0.519623 0.241092 -1.474969 
2017-01-03 0.129163 -0.183547 -1.333859 -0.864320 
2017-01-04 1.265360 -0.260505 0.633058 -0.077758 

どのようにすることができます私はグループ以下のようmulit-インデックスを作成し、私は

testdf = pd.DataFrame(np.random.randn(4,4),index= pd.date_range("20170101",periods=4),columns =list("ABCD")) 

testdf 
Out[40]: 
        A   B   C   D 
2017-01-01 0.084624 -0.371352 -1.013843 -1.102199 
2017-01-02 0.390855 -0.519623 0.241092 -1.474969 
2017-01-03 0.129163 -0.183547 -1.333859 -0.864320 
2017-01-04 1.265360 -0.260505 0.633058 -0.077758 

以下のようにDFを生成言いますか?

私は以下のようにグループ化しようとしました。

testdf.groupby('number') 

これは以下のエラーをスローします。列によるグループのパラメータaxis=1

KeyError: 'number' 

答えて

2

使用groupby、レベルを定義しsumような集計機能を追加し、mean

df = testdf.groupby(axis=1, level=1).sum() 

または:

df = testdf.groupby(axis=1, level='number').sum() 
関連する問題