pandasチートシートと基本パターン

基本的なパターン5つ(抽出・追加・削除・結合・集約)について取り上げました。

それぞれのページに行くと、詳細な解説も見ることができます。

抽出

列の抽出

df["列名"]

行の抽出

列名が特定の値である行の抽出

df.query("列名 == 値")

追加

列の追加

df["列名"] = 配列

行の追加

①:seriesの追加(append関数)

s = pd.Series({"列名1": "値1", "列名2": "値2"}, name="行名")
df = df.append(s)

②:転置して列の追加

df_t = df.transpose()["行名"] = 配列
df = df_t.transpose()

削除

オプションに inplace=True を付与すると、破壊的メソッドになる。
メモリは節約できるが、扱いに注意。

df = df.drop("行名")          # 行の削除 
df = df.drop("列名", axis=1)  # 列の削除

結合

concat, merge, join メソッドがあります。使い分けは以下。

用途メソッド
単純にくっつけるだけconcat
特定のキーで紐付けるmerge
インデックスをキーとするjoin

concat

pd.concat([df1, df2])          # 縦方向につながる
pd.concat([df1, df2], axis=1)  # 横方向につながる

merge

pd.merge(df1, df2, on="キーとなる列名")

join

df1.join(df2)

集約

df.groupby("列名").sum()
df.groupby("列名").mean()
df.groupby("列名").min()
df.groupby("列名").max()