[Python] pandasとは

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

その他に多様な機能がある。