Pandasの使い方の備忘録として、
基本的な操作方法をまとめました。
0.前提
import pandas as pd
1.データを定義する
pd.DataFrame()
- データフレームを定義できるメソッド
- index引数を指定することが出来る。指定しなかった場合は自動で0から割り振られる
df = pd.DataFrame({
'Country': ['JPN', 'USA', 'CHI', 'GER', 'AUS'],
'Greeting':['こんにちは', 'Hello', 'Ni Hao', 'Guten Tag', 'GDay'],
'Capial':['Tokyo','Washington', 'Beijing', 'Berlin', 'Canberra']},
index=['a','b','c','d','e']
)
df
"""
以下のように出力される
Country Greeting Capial
a JPN こんにちは Tokyo
b USA Hello Washington
c CHI Ni Hao Beijing
d GER Guten Tag Berlin
e AUS GDay Canberra
"""
2.データフレームの操作方法
a.データの存在確認
df.isin()メソッド
- 配列(['hage', 'hige','huge'...])を引数にとり、その値の有無を真偽値で返す
df.isin(['JPN', 'Berlin'])
"""
Country Greeting Capial
a True False False
b False False False
c False False False
d False False True
e False False False
"""
df.isnull()メソッド
- 欠損値(NaN)の有無を確かめ、真偽値を返す(TrueがNaNの意)。
b.データの呼び出し
df.loc[]
- 行・列をラベル(名称)で指定する
- 添字([])には行と列それぞれを指定する必要がある。
:
で全箇所という意味を表す
df.loc[:,['Country', 'Greeting']]
# 意:'Country'列、'Greeting'列を取得してきてね。行は全部
df.loc[['a','c'],['Country']] # ->
# 意:'Country'列を取得してきてね。行はa行とc行のみ
df.iloc[]
- 行・列を数字の位置(integer location)で指定する
- ちなみにiはindexでもindiceでもiteratorでもなく、integer location('整数位置')のiです1。
df.iloc[:,1:3]
# 意:1列目から3列目まで(つまり、1行目と2列目)を出力してね、行は全部
df.iloc[2:5,1:3]
# 意:1列目から3列目まで(同)を出力してね、行は2行目から5行まで(つまり2,3,4行目)
"""
Greeting Capial
c Ni Hao Beijing
d Guten Tag Berlin
e GDay Canberra
"""
df.ix[]
- ラベル(loc)、整数番(iloc)どちらを呼び出しても機能する。Pandasのバージョン0.20.0より非推奨(depricated)2。
- そんなのがあったんだな、と知っておく程度で良いと思われる。
編集後記
- 列の削除の仕方やクエリライクな活用などは近日中に加筆します
- NumpyやMatplotlib等と並び最も基本的なライブラリの1つであるからこそ、操作方法で躓くことのないように復習が欠かせないライブラリだなあと思いました。同じような方のお役に立てば幸いです。