Kの備忘録(仮)

Python、VBA、Excelを中心に記事を投稿

pandasチートシート ※作成中

はじめに

現在pandasのチートシートを作成中です!
※2023年8月27日現在、チートシートはまだまだ作成中です。

これから少しずつ更新していきます。
操作の一部は別記事で詳細を解説していく予定です!

チートシート

データフレーム操作

操作 書き方 例文
新しい列をデータフレームに追加 df['new_column'] = value df['age'] = 25 # 新しい列'age'を追加し、すべての行に25を設定
データフレームから指定の列を削除 del df['column_a'] del df['age'] # 'age'列を削除
特定の値が含まれる行だけを抽出 df = df[df['column_a'] == 'value'] df = df[df['gender'] == 'male'] # 'gender'が'male'の行だけを抽出
特定の値が含まれる行を除外して抽出 df = df[df['column_a'] != 'value'] df = df[df['gender'] != 'male'] # 'gender'が'male'でない行を抽出
2つのデータフレームを縦方向に結合 df1 = pd.concat([df1, df2], axis=1) result = pd.concat([df1, df2], axis=1) # df1とdf2を縦方向に結合
2つのデータフレームを横方向に結合 df1 = pd.concat([df1, df2], axis=0) result = pd.concat([df1, df2], axis=0) # df1とdf2を横方向に結合
2つのデータフレームをキーを指定して結合 df1 = pd.merge(df1, df2, on='key_column') result = pd.merge(students, grades, on='student_id') # 'student_id'をキーとしてstudentsとgradesを結合

欠損値

説明 メソッド 引数 例文
欠損値を含む行または列を削除 dropna() inplace: Trueにすると破壊的メソッドに変換
axis: 0で行削除・1で列削除
thresh: 欠損値の数を指定(指定した数以上の欠損値を含む場合は削除)
df.dropna(axis=0, inplace=True)
欠損値を平均値、中央値、最頻値などの値で代入 fillna() value: 欠損値に代入する値を指定
inplace: Trueにすると破壊的メソッドに変換
df['age'].fillna(df['age'].mean(), inplace=True)
文字の置換(例: 'nan' を NaN に) replace() 文字列の置換を行いたい場合に使用。'nan' などの文字列を真の NaN に置換するなどの操作に使用 df.replace('nan', np.nan, inplace=True)
欠損値を検出 isna()
または
isnull()
欠損値の位置をTrueとして返す missing_data = df.isna()
欠損値の数を確認 isna().sum()
または
isnull().sum()
列ごとの欠損値の数を返す missing_count = df.isna().sum()

データフレームの計算

説明 メソッド 引数 例文
指定の列や行の合計値を計算 sum() axis=None, skipna=True, ... total_age = df['age'].sum()
指定の列や行の最小値を取得 min() axis=None, skipna=True, ... min_age = df['age'].min()
指定の列や行の最大値を取得 max() axis=None, skipna=True, ... max_age = df['age'].max()
指定の列や行の平均値を計算 mean() axis=None, skipna=True, ... avg_age = df['age'].mean()
指定の列や行の中央値を計算 median() axis=None, skipna=True, ... median_age = df['age'].median()
指定の列や行の標準偏差を計算 std() axis=None, skipna=True, ... std_age = df['age'].std()
指定の列の各ユニークな値の出現回数を計算 value_counts() - gender_counts = df['gender'].value_counts()

※引数の解説

axis

操作をどの方向に適用するかを指定する引数です。データフレームにおける2つの主要な方向、すなわち「行」または「列」を指定する際に使用されます。

引数 解説
axis=0 または axis='index' 操作は行方向に適用されます。たとえば、列の合計を求める際にはこの設定を使用します。デフォルトは通常 axis=0 です。
axis=1 または axis='columns 操作は列方向に適用されます。たとえば、行の合計を求める際にはこの設定を使用します。
axis=None pandasの関数やメソッドにおいて操作をフラットな配列として扱いたい場合に使用されます。この指定がある場合、操作は全ての要素に適用され、データフレームやシリーズの形状を考慮しないで処理が行われます。

skipna

skipna は、欠損値(NaNやNoneなど)を計算から除外するかどうかを指定する引数です。

引数 解説
skipna=True 欠損値を計算から除外します。たとえば、合計や平均を計算する際、欠損値を無視して計算が行われます。これがデフォルトの動作です。
skipna=False 欠損値を計算に含めます。しかし、多くの場合、欠損値が1つでも含まれると結果も欠損値となります。例えば、欠損値が含まれる列の平均を計算しようとすると、結果もNaNとなります。

関連記事

pandasのチートシートを作る!その1 - Kの備忘録(仮)