初級向け:Pandasで使う頻繁コード集

JupyterLabを使ってスクリプトを書く時によく使うコードのまとめ

 

1:データ読み込み

import pandas as pd
#データ読み込み
df = pd.read_csv('保管フォルダパス/ファイル名')
#例)df = pd.read_csv('./sample.csv')

 2:データの表示

#先頭から表示個数を指定
df.head(表示個数)
#例)df.head(3)

#末尾から表示個数を指定
df.tail(表示個数)
#例)df.tail(10)

3:不要な列、行の削除

#必要なカラム名を記載して、全体を[]で挟むことで抽出
df = ["カラム名1","カラム名2","カラム名3","カラム名4","カラム名5"]
df[
["カラム名1","カラム名2","カラム名5",]
]

4:型、サイズ、列名、行名の確認

#タイプを確認
df.dtypes
#サイズを確認
df.shape
#列名を確認
df.columns

5:指定要素を取得

#df.iloc[行番号,列番号]
df.iloc[4:10,2:6]

#df.loc[5:10,'開始カラム名':'終了カラム名']
df.loc[5:10,'A13:'A6']

6:条件抽出

#条件を作成
df['カラム名'] == '抽出キーワード'
#例 df['nationality'] == 'Japan'

#絞った条件をdf[]でかこむとデータフレームにできる
df[df['nationality'] == 'Japan']
#queryメソッド
df.query('条件')
#例 )df.query('nationality == "Japan"')
#「isinメソッド」を使ってカラムにキーワードが存在するか確認
df[df['カラム名'].isin(['キーワード'])]
#例)df[df['nationality'].isin(["Japan"])]
#複数条件の 場合
(df['カラム名1'] == "キーワード1")&(df['カラム名2'] == "キーワード2")
#例)(df['age'] > 20) & (df['area'] == "大阪")

7:ユニークな値の抽出

#uniqueメソッドはシリーズ(1次元の型)のみで利用できる
df['id'].unique()

8:重複除去

df.drop_duplicates(subset='重複を除きたいカラム名')
#例)df.drop_duplicates(subset='nationality')

9:カラム名変更

#全てを変える場合はカラム名を全て記載して、.columnsを指定する
df.columns = [
'カラムA',
'カラムB',
'カラムC']
#一部を変更したい場合はrenemeメソッドを使う
df.rename(columns={
'対象のカラム名':'新しいカラム名'
})

10:並べ替え

#ascendingは昇降順を変える
sort_valuesメソッド('カラム名',ascending=False)
#例)df.sort_values('最高気温',ascending=False)

11:ダミー変数への処理

#ダミーにしたカラムのみを表示
pd.get_dummies(df[カラム名]) 
#例)pd.get_dummies(df_people['nationality'])

#全体にダミーにしたカラムを表示
pd.get_dummies(df,columns=[カラム名]) 
#例)pd.get_dummies(df_people,columns=['nationality'])

12:欠損値の確認

#欠損値の確認
df.isnull()

#個数確認
df.isnull().sum()

13:欠損値の置き換え

#欠損値の置き換え
df.fillna(置き換える値)

14:欠損値の削除

df.dropna(axis=1)
#引数:axis=0ならば横方向削除

15:ユニークな値と出現回数

df[カラム名].value_counts()
#例)df['Class'].value_counts()

16:グループごとの集計

df.groupby('グループにするカラム名')

#使い方
#例)df.groupby('column1').mean()

17:統計量の確認

#平均値
df.mean()
#中央値
df.median()
#標準偏差
df.std()
#最大値
df.max()
#最小値
df.min()
#各カラムで代表的な統計値を一覧表で表示
df.describe()

18:折れ線グラフの表示

import matplotlib.pyplot as plt

df.plot(x='横軸にしたいカラム名',y=['グラフ化したいカラム名1','グラフ化したいカラム名2'],legend=False)

#df[表示したい範囲] を入れるとグラフ範囲が絞れる
#50件分でグラフ化
#例)df[:50].plot(x='横軸にしたいカラム名',y=['グラフ化したいカラム名1','グラフ化したいカラム名2'],legend=False

19:相関係数の算出

df.corr()

#0〜1:正の相関(1が最も強い)
#-1〜0:負の相関(-1が最も強い)

#みたいカラムだけを抽出
df[['相関を見たいカラム1,相関を見たいカラム2,相関を見たいカラム3,']].corr()
#例)df[['平均気温','降水量の合計','日照時間']].corr()

20:データの出力

df.to_csv('出力ファイル名',index=False)
#例)df.to_csv('export.csv',index=False)

コメントする

メールアドレスが公開されることはありません。