文書の過去の版を表示しています。
Python モジュール: pandas
概要
- Python のデータフレームモジュール
- データフレームとは、複数のデータ型が入り交じるデータ集合を 1 つのデータセットでまとめたもの
- リストやディクショナリ型でも対応は可能だが、例えば 1 原子に様々なパラメータ (座標や原子名、原子量などなど) が加わると、
- データへのアクセスの仕方が難しくなる
- ソートが難しい
- プログラム言語にもよるが、リストやディクショナリでは特定の型のデータしか格納できない
- 内部のデータを確認する際に、for 文などで取り出して整形しないと見づらい
- データフレームでは、自動で整形やソートの際の煩雑な作業をしてくれるのでデータ処理が楽になる。
使い方
インストール
$ sudo pip3 install pandas
モジュールの読み込み
import pandas
あるいは
import numpy as pd
as pd
によって、以降pd
で呼び出せる。- ここではこっちの読み込みをした場合で記述していく。
データフレームの作成
data_frame = \ pd.DataFrame([ ["Tanaka", "Suzuki", "Yamada"], [59, 20, 31], [150, 160, 159] ]).T data_frame.columns = ["Name", "Age", "Height"] data_frame.index = [1,2,3]
.T
: numpy の転置と同じ (pandas では、行を個々のデータ、列をデータの種類としているため、転置を使っている)data_frame.columns
で、各リストのデータ名 (カラム名) を上書きするdata_frame.index
で、各リストのインデックス (シリアル ID) を上書きする- インデックスは数値でないといけない
データフレームへのアクセス
- カラム、インデックスへのアクセス
print(hoge.columns) print(hoge.index)
- `hoge.columns` でカラム一覧にアクセス
- `hoge.index` でインデックス一覧にアクセス
- データへのアクセス
- 単一カラムへのアクセス
print(hoge["Name"])
- 複数カラムへのアクセス
print(hoge[["Name", "Age"]])
- リストでカラム名を指定する
- 行へのアクセス
print(hoge[1:2])
- スライスで必ず、始点と終点を指定する
- カラムと同時に指定する場合は、カラム、行の順番で。
データの追加
- カラムの追加
hoge[NEW_COLUMN] = [DATA1, DATA2, DATA3, ...]
NEW_COLUMN
: 新しく追加するカラム名DATA1, DATA2, …
: 追加するデータはリストで渡す- 次元が合わない場合は、エラーになる
- 行の追加
hoge = hoge.append(DATA_FRAME)
DATA_FRAME
: 追加するデータが入った pandas のデータフレーム- 次元が合わない場合は、
NaN
となる。
- 参考サイト: pandasの基本操作 - Qiita
データフレームのサイズ確認
- 2 つの方法がある。
.index
や.columns
で取得したカラム名やインデックス名のリストをlen()
を使って取得する。DATA_FRAME.shape
でインデックスとカラム数を同時に取得する。