pandasプログラミングの基本

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.にしたがってデータフレームのアクセスする位置を特定し、値を代入する。

〜実験中〜