pandasのDataFrameのデータ操作のかんたん早見表を作成したので、データ操作に役立ててください。また最後に、データ分析の流れを経験できるオススメ学習コンテンツを紹介したので、ご参考ください。
事前にimport
import pandas as pd
import numpy as np
データ読み取り編
CSVの読み取り
df = pd.read_csv("ファイル名", header=None)
# `header=None`を指定せず`pd.read_csv("ファイル名")`とした場合は1行目が自動的にカラム名として挿入される
コピーの読み取り
df = pd.read_clipboard(header=None)
# `header=None`を指定せず`pd.read_clipboard()`とした場合は1行目が自動的にカラム名として挿入される
DataFrameの自作
df = pd.DataFrame(np.arange(12).reshape(4,3),index=['行名1','行名2', '行名3', '行名4'], columns=['カラム名1','カラム名2', 'カラム名3'])
# `index=[]`や`column=[]`を指定しない場合は、順に1,2,3・・・となる
# データは`np.arange(12).reshape(4,3)`といった`array`であること
データ抽出編
全カラム名の取得
df.columns
最初の数データ取得
df.head(行数)
各種情報取得
df.describe()
1行の取得
df.loc['行名']
# 出力はSeries型
df.loc[['行名']]
df.iloc[2]
# 出力はSeries型
# カッコ内の数値は先頭を0とする行番号
df.iloc[[2]]
# カッコ内の数値は先頭を0とする行番号
複数行の取得
df.loc[['行名','行名']]
df.iloc[[2,3]]
# カッコ内の数値は先頭を0とする行番号
df.iloc[2:4, :]
# カッコ内の数値はスライス形式で[行の開始位置:行の終了位置-1]
1カラムの取得
df['カラム名']
# 出力はSeries型
df[['カラム名']]
df.loc[:, ['カラム名']]
df.iloc[:, [1]]
# カッコ内の数値は先頭を0とするカラム番号
複数カラムの取得
df[['カラム名','カラム名']]
df.loc[:, ['カラム名','カラム名']]
df.iloc[:, [1,2]]
# カッコ内の数値は先頭を0とするカラム番号
1行1列ピンポイントで取得
df.loc['行名', 'カラム名']
# 出力は値のみ
df.loc['行名']['カラム名']
# 出力は値のみ
df.loc[['行名'], ['カラム名']]
df.iloc[2,1]
# 出力は値のみ
# カッコ内の数値は先頭を0とする[行番号,カラム番号]
df.iloc[[2], [1]]
# カッコ内の数値は先頭を0とする[[行番号],[カラム番号]]
df.at['行名', 'カラム名']
# 出力は値のみ
df.iat[2,1]
# 出力は値のみ
# カッコ内の数値は先頭を0とする[行番号,カラム番号]
複数行複数列を指定して取得
df.loc[['行名','行名'], ['カラム名','カラム名']]
df.iloc[[2,3], [1,2]]
# カッコ内の数値は先頭を0とする[[行番号,行番号], [カラム番号, カラム番号]]
df.iloc[2:4,1:3]
# カッコ内の数値はスライス形式で[行の開始位置:行の終了位置-1, カラムの開始位置:カラムの終了位置-1]
データ削除編
1行の削除
df.drop('行名')
複数行の削除
df.drop(['行名','行名'])
1カラムの削除
df.drop('カラム名', axis =1)
複数カラムの削除
df.drop(['カラム名','カラム名'], axis =1)
データ結合編
横方向に結合
pd.concat([df1, df2], axis =1)
データ変換編
arrayに変換
df.values
dframeに再変換
pd.DataFrame(df.values, index=['行名1','行名2', '行名3', '行名4'], columns=['カラム名1','カラム名2', 'カラム名3'])
csvに出力
df.to_csv("ファイル名.csv")
データ更新編
単一データの更新
データ取得して代入するのみ
複数データの一括更新
ただし代入される側とする側の行数、列数を合わせることは必須。
型もそろえた方が無難(型の違いによる意図しない行列入れ違いが発生するため)。
【最後に】データ分析手法のコンテンツ(私が制作したもの)
私が制作したものですが、初心者向けのPythonデータ分析学習コンテンツです。データの取り込み、前処理から可視化の流れを学習できる教材です。考察イメージまで記載されているのでオススメです。一部無料公開されているので、ご興味あればお試しください。