Pythonプログラマーは、Pandasというライブラリを使えば、R言語を使わなくても高度な統計処理や数値計算が出来るみたいです。
ざっと調べてみたところ、Rで行えることの殆どがPandasでも可能みたいです。
さっそく、Pandasを使った基本プログラムを書いてみたいと思います。
基本1. PythonリストからPandasのDataFrameを生成する
1. 超基本スクリプト
import pandas as pd data = [[90, 89, 75], [79, 88, 93]] df = pd.DataFrame(data) print(df)
(実行結果)
$ python kihon1.py 0 1 2 0 90 89 75 1 79 88 93
2. columns(列名)とindex(行名)を指定してDataFrameを作成する
import pandas as pd data = [[90, 89, 75], [79, 88, 93]] df = pd.DataFrame(data, columns=['国語', '算数', '社会'], index=['太郎', '次郎']) print(df)
(実行結果)
$ python kihon1_2.py 国語 算数 社会 太郎 90 89 75 次郎 79 88 93
3. 作成済みDataFrameの列名と行名を変更する。
(その1) columns属性とindex属性を変更する。
import pandas as pd data = [[90, 89, 75], [79, 88, 93]] df = pd.DataFrame(data, columns=['国語', '算数', '社会'], index=['太郎', '次郎']) df.columns = ['Japanese', 'Math', 'Social'] df.index = ['Taro', 'Jiro'] print(df)
(実行結果)
$ python kihon1_3.py Japanese Math Social Taro 90 89 75 Jiro 79 88 93
(その2) renameメソッドを使う
import pandas as pd data = [[90, 89, 75], [79, 88, 93]] df = pd.DataFrame(data, columns=['国語', '算数', '社会'], index=['太郎', '次郎']) df2 = df.rename(columns={'国語':'Japanese', '算数':'Math', '社会':'Social'}, index={'太郎':'Taro', '次郎':'Jiro'}) print(df2)
※renameメソッドは、元のDataFrameを破壊せずに新なDataFrameオブジェクトを生成する。
(実行結果)
$ python kihon1_4.py Japanese Math Social Taro 90 89 75 Jiro 79 88 93
基本2. データ構造の変更
インデックス(行名)の変更
dataframe.index = ['行1', '行2', '行3',...]
カラム(列名)の変更
dataframe.columns = ['列1', '列2', '列3',...]
基本3. 値の参照
1個のデータを参照する
dataframe.at['行名', '列名'] dataframe.iat[行番号, 列番号] dataframe.loc['行名', '列名'] dataframe.iloc[行番号, 列番号]
※at/iatの方がloc/ilocよりも高速
基本4. 値の変更
基本3.にしたがってデータフレームのアクセスする位置を特定し、値を代入する。
〜実験中〜