pandas DataFrame行列転置

3431 ワード

import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(6).reshape(2,3),index=("AA","BB"),columns=["three","two","one"])
print(df)
    three  two  one
AA      0    1    2
BB      3    4    5

表には行列方向にインデックス(DataFrameに似ている)があり、カッコ構造は「列方向」のインデックス(階層化されたSeriesに似ている)のみで、構造はスタック(Series-stack、記憶しやすい)に偏っている.stack関数は、「表構造」から「カッコ構造」にデータを変換し、行インデックスを列インデックスに変換します.逆に、unstack関数は、「カッコ構造」から「表構造」にデータを変換します.つまり、その階層の列インデックスを行インデックスに変換します.
#              ,   Series  
df2 = df.stack()
print(df2)
AA  three    0
    two      1
    one      2
BB  three    3
    two      4
    one      5
dtype: int64

df.stack()はdfフォーマットを表形式からカッコ構造に変換する
#               
df3 = df2.unstack(0)
print(df3)
       AA  BB
three   0   3
two     1   4
one     2   5
# unstack()  unstack(1)              
df3 = df2.unstack()
print(df3)
    three  two  one
AA      0    1    2
BB      3    4    5