
5.1
pandas
のデータ構造
145
データフレームをインデックスで参照して取得できる列は、データフレームの内部に持って
いるデータへの参照ビューであり、コピーではありません。つまり、取得したシリーズに対
して置き換えなどの変更を行うと、データフレームにも反映されます。列は明示的にシリー
ズの
copy
メソッドを使うとコピーを取得することができます。
他の一般的なデータ形式に、ネストしたディクショナリがあります。
In [65]: pop = {'Nevada': {2001: 2.4, 2002: 2.9},
....: 'Ohio': {2000: 1.5, 2001: 1.7, 2002: 3.6}}
このネストしたディクショナリをデータフレームに渡すと、
pandas
は外側のディクショナリのキーを
列のインデックスとして解釈し、内側のインデックスのキーを行のインデックスとして解釈します。
In [66]: frame3 = pd.DataFrame(pop)
In [67]: frame3
Out[67]:
Nevada Ohio
2000 NaN 1.5
2001 2.4 1.7
2002 2.9 3.6
データフレームは
NumPy
の配列と同様な文法で転置(行と列を入れ替える)することができます。
In [68]: frame3.T
Out[68]:
2000 2001 2002
Nevada NaN 2.4 2.9
Ohio 1.5 1.7 3.6
内側のディクショナリのキーは統合した後にソートされ、