Pandasはデータ解析を容易にする機能を提供するPythonのデータ解析ライブラリ
Pandasの特徴は、データフレーム(DataFrame)などの独自のデータ構造が提供されており様々な処理が可能
表形式のデータをSQLまたはRのように操作することが可能
Pandasの例
– CSV, Excel, RDBなどにデータを入出力できる
– データの前処理(NaN/Not a Number, 欠損値)
– データの集約及びグループ演算
– データに対しての統計処理及び回帰処理
import pandas as pd # from pandas import Series s1 = pd.Series([1,2,3,5]) print(s1)
$ python3 main.py
0 1
1 2
2 3
3 5
### データフレーム
データフレームは二次元のラベル付きデータ構造で、Pandasでは最も多く使われるデータ型
import pandas as pd df = pd.DataFrame({ '名前':['田中','山田','高橋'], '役割':['営業部長','広報部','技術責任者'], '身長':[178, 173, 169] }) print(df) print(df.dtypes) print(df.columns)
$ python3 main.py
名前 役割 身長
0 田中 営業部長 178
1 山田 広報部 173
2 高橋 技術責任者 169
名前 object
役割 object
身長 int64
dtype: object
Index([‘名前’, ‘役割’, ‘身長’], dtype=’object’)
import pandas as pd data = { '名前':['田中','山田','高橋'], '役割':['営業部長','広報部','技術責任者'], '身長':[178, 173, 169] } df = pd.DataFrame(data, columns=["名前","役割","身長"]) df.columns = ["Name", "Position", "height"] print(df)
$ python3 main.py
Name Position height
0 田中 営業部長 178
1 山田 広報部 173
2 高橋 技術責任者 169
### head()とtail()
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(20, 2)) print(df.head()) print(df.tail()) print(df.head().append(df.tail())) print(df.head(3).append(df.tail(3)))
$ python3 main.py
0 1
0 0.330724 -1.143377
1 -0.123135 1.368603
2 1.230545 0.606766
3 0.687297 -1.633271
4 0.365082 0.226383
0 1
15 0.822776 -2.105489
16 1.306649 0.672192
17 0.846219 0.454775
18 -0.376438 -0.903396
19 -1.165510 -0.558250
0 1
0 0.330724 -1.143377
1 -0.123135 1.368603
2 1.230545 0.606766
3 0.687297 -1.633271
4 0.365082 0.226383
15 0.822776 -2.105489
16 1.306649 0.672192
17 0.846219 0.454775
18 -0.376438 -0.903396
19 -1.165510 -0.558250
0 1
0 0.330724 -1.143377
1 -0.123135 1.368603
2 1.230545 0.606766
17 0.846219 0.454775
18 -0.376438 -0.903396
19 -1.165510 -0.558250
その他に多様な機能がある。