JupyterLabを使ってスクリプトを書く時によく使うコードのまとめ
1:データ読み込み
1 2 3 4 |
import pandas as pd #データ読み込み df = pd.read_csv('保管フォルダパス/ファイル名') #例)df = pd.read_csv('./sample.csv') |
2:データの表示
1 2 3 4 5 6 7 |
#先頭から表示個数を指定 df.head(表示個数) #例)df.head(3) #末尾から表示個数を指定 df.tail(表示個数) #例)df.tail(10) |
3:不要な列、行の削除
1 2 3 4 5 |
#必要なカラム名を記載して、全体を[]で挟むことで抽出 df = ["カラム名1","カラム名2","カラム名3","カラム名4","カラム名5"] df[ ["カラム名1","カラム名2","カラム名5",] ] |
4:型、サイズ、列名、行名の確認
1 2 3 4 5 6 |
#タイプを確認 df.dtypes #サイズを確認 df.shape #列名を確認 df.columns |
5:指定要素を取得
1 2 3 4 5 |
#df.iloc[行番号,列番号] df.iloc[4:10,2:6] #df.loc[5:10,'開始カラム名':'終了カラム名'] df.loc[5:10,'A13:'A6'] |
6:条件抽出
1 2 3 4 5 6 |
#条件を作成 df['カラム名'] == '抽出キーワード' #例 df['nationality'] == 'Japan' #絞った条件をdf[]でかこむとデータフレームにできる df[df['nationality'] == 'Japan'] |
1 2 3 |
#queryメソッド df.query('条件') #例 )df.query('nationality == "Japan"') |
1 2 3 |
#「isinメソッド」を使ってカラムにキーワードが存在するか確認 df[df['カラム名'].isin(['キーワード'])] #例)df[df['nationality'].isin(["Japan"])] |
1 2 3 |
#複数条件の 場合 (df['カラム名1'] == "キーワード1")&(df['カラム名2'] == "キーワード2") #例)(df['age'] > 20) & (df['area'] == "大阪") |
7:ユニークな値の抽出
1 2 |
#uniqueメソッドはシリーズ(1次元の型)のみで利用できる df['id'].unique() |
8:重複除去
1 2 |
df.drop_duplicates(subset='重複を除きたいカラム名') #例)df.drop_duplicates(subset='nationality') |
9:カラム名変更
1 2 3 4 5 |
#全てを変える場合はカラム名を全て記載して、.columnsを指定する df.columns = [ 'カラムA', 'カラムB', 'カラムC'] |
1 2 3 4 |
#一部を変更したい場合はrenemeメソッドを使う df.rename(columns={ '対象のカラム名':'新しいカラム名' }) |
10:並べ替え
1 2 3 |
#ascendingは昇降順を変える sort_valuesメソッド('カラム名',ascending=False) #例)df.sort_values('最高気温',ascending=False) |
11:ダミー変数への処理
1 2 3 4 5 6 7 |
#ダミーにしたカラムのみを表示 pd.get_dummies(df[カラム名]) #例)pd.get_dummies(df_people['nationality']) #全体にダミーにしたカラムを表示 pd.get_dummies(df,columns=[カラム名]) #例)pd.get_dummies(df_people,columns=['nationality']) |
12:欠損値の確認
1 2 3 4 5 |
#欠損値の確認 df.isnull() #個数確認 df.isnull().sum() |
13:欠損値の置き換え
1 2 |
#欠損値の置き換え df.fillna(置き換える値) |
14:欠損値の削除
1 2 |
df.dropna(axis=1) #引数:axis=0ならば横方向削除 |
15:ユニークな値と出現回数
1 2 |
df[カラム名].value_counts() #例)df['Class'].value_counts() |
16:グループごとの集計
1 2 3 4 |
df.groupby('グループにするカラム名') #使い方 #例)df.groupby('column1').mean() |
17:統計量の確認
1 2 3 4 5 6 7 8 9 10 11 12 |
#平均値 df.mean() #中央値 df.median() #標準偏差 df.std() #最大値 df.max() #最小値 df.min() #各カラムで代表的な統計値を一覧表で表示 df.describe() |
18:折れ線グラフの表示
1 2 3 4 5 6 7 |
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:相関係数の算出
1 2 3 4 5 6 7 8 |
df.corr() #0〜1:正の相関(1が最も強い) #-1〜0:負の相関(-1が最も強い) #みたいカラムだけを抽出 df[['相関を見たいカラム1,相関を見たいカラム2,相関を見たいカラム3,']].corr() #例)df[['平均気温','降水量の合計','日照時間']].corr() |
20:データの出力
1 2 |
df.to_csv('出力ファイル名',index=False) #例)df.to_csv('export.csv',index=False) |