python:pandas

文書の過去の版を表示しています。


Python モジュール: pandas

  • Python のデータフレームモジュール
    • データフレームとは、複数のデータ型が入り交じるデータ集合を 1 つのデータセットでまとめたもの
      • リストやディクショナリ型でも対応は可能だが、例えば 1 原子に様々なパラメータ (座標や原子名、原子量などなど) が加わると、
        • データへのアクセスの仕方が難しくなる
        • ソートが難しい
        • プログラム言語にもよるが、リストやディクショナリでは特定の型のデータしか格納できない
        • 内部のデータを確認する際に、for 文などで取り出して整形しないと見づらい
      • データフレームでは、自動で整形やソートの際の煩雑な作業をしてくれるのでデータ処理が楽になる。
$ sudo pip3 install pandas
import pandas

あるいは

import numpy as pd
  • as pd によって、以降 pd で呼び出せる。
  • ここではこっちの読み込みをした場合で記述していく。
hoge = \
pd.DataFrame([
             ["Tanaka", "Suzuki", "Yamada"],
             [59, 20, 31],
             [150, 160, 159]
]).T
 
hoge.columns = ["Name", "Age", "Height"]
hoge.index = [1,2,3]
  • `.T` を忘れない (`.T` は numpy の転置と同じ)
  • 二次元リストにする
  • `hoge.columns` で、各リストのデータ名 (カラム名) を上書きする
  • `hoge.index` で、各リストのインデックス (シリアル ID) を上書きする
    • インデックスは数値でないといけない
  • カラム、インデックスへのアクセス
    print(hoge.columns)
    print(hoge.index)
    • `hoge.columns` でカラム一覧にアクセス
    • `hoge.index` でインデックス一覧にアクセス
  • カラムの追加
    hoge[NEW_COLUMN] = [DATA1, DATA2, DATA3, ...]
    • NEW_COLUMN: 新しく追加するカラム名
    • DATA1, DATA2, …: 追加するデータはリストで渡す
    • 次元が合わない場合は、エラーになる
  • 行の追加
    hoge = hoge.append(DATA_FRAME)
    • DATA_FRAME: 追加するデータが入った pandas のデータフレーム
    • 次元が合わない場合は、NaN となる。
  • 2 つの方法がある。
    • .index.columns で取得したカラム名やインデックス名のリストを len() を使って取得する。
    • DATA_FRAME.shape でインデックスとカラム数を同時に取得する。
  • python/pandas.1520418836.txt.gz
  • 最終更新: 2018/03/07 19:33
  • by mumeiyamibito