2

「フラット」列インデックス ['Sample 1', 'Sample 2' ...] を持つ pandas DataFrame があり、2 つのレベルを持つ MultiIndex を構築しました。 DataFrame の列インデックス (「サンプル 1」...)。DataFrame の列インデックスをこの MultiIndex に置き換え、MultiIndex の各要素を、一致する名前を持つ列インデックス要素に置き換えたいと考えています。したがって、「サンプル 1」という見出しの列は (「サンプル 1」、「グループ x」) という見出しになり、「サンプル 2」という見出しの列は (「サンプル 2」、「グループ x」) になるはずです。など。

たとえば、DataFrame は次のようになります。

         A    B    C
row1     1    2    3
row2     4    5    6
  :
rowN     7    8    9

そしてMultiIndexは次のようになります[('A', 'G1'), ('B', 'G1'), ('C', 'G2')]

最終結果は次のようになります。

        G1   G1   G2
         A    B    C
row1     1    2    3
row2     4    5    6
  :
rowN     7    8    9

これは単純な結合または一致する連結であるように思われますが、それを行う方法 (および/またはキーワード) が見つかりません。

4

1 に答える 1

1

columnsインスタンス属性に割り当てるだけ

In [10]: df = DataFrame(randn(10, 3), columns=list('abc'))

In [11]: df.columns = [list('ABC'), df.columns]

In [12]: df
Out[12]:
       A      B      C
       a      b      c
0  2.320 -1.670  0.511
1  0.350 -1.877  0.627
2  1.671  0.347  1.328
3  0.896 -0.061  0.083
4  1.168  1.212 -1.127
5 -0.015  0.402  0.249
6 -0.576  0.898 -0.464
7 -0.939  0.198 -2.698
8 -0.767  0.532 -0.369
9  0.365  0.293 -0.676

In [13]: df.columns
Out[13]:
MultiIndex
[(u'A', u'a'), (u'B', u'b'), (u'C', u'c')]
于 2013-08-19T23:05:27.330 に答える