pandasでデータフレームを扱う際に、よく使うコマンドを整理しました。
基礎統計量の確認
<データフレーム名>.describe()
カラム内のデータ数を数える
<データフレーム名>["<カラム名>"].value_counts()
列データのユニークな要素数を数える
<データフレーム名>["<カラム名>"].nunique()
groupby関数による集約
<データフレーム名>.groupby("<カラム名1">)["<カラム名2>"].value_counts()
特定の要素ごとの平均値、合計値、中央値を出す
<データフレーム名>.groupby("<カラム名">).mean()
<データフレーム名>.groupby("<カラム名">).sum()
<データフレーム名>.groupby("<カラム名">).median()
groupby関数で集約に用いたカラムをインデックスにしない場合
groupby("<カラム名>", as_index=False)
groupby関数で2以上の列を指定する場合
groupby(["<カラム名1>","<カラム名2>"])
件数を集計する場合(クロス集計)
pd.crosstab(<データフレーム名>["<カラム名1>"], <データフレーム名>["<カラム名2>"])
件数を集計する場合(クロス集計、行方向の合計値が全体で1になるように正規化したい場合)
pd.crosstab(<データフレーム名>["<カラム名1>"], <データフレーム名>["<カラム名2>"], normalize = "index")
条件に該当したデータ抽出
<データフレーム名>[<データフレーム名>["<カラム名>"] == "値"]
または
<データフレーム名>.query("<カラム名> == '値'")
データ並び替え
# 昇順(デフォルト)
<データフレーム名>.sort_values("<カラム名>")
# 降順
<データフレーム名>.sort_values("<カラム名>", ascending=False)
カラム名変更
<データフレーム名>.rename(columns={"<カラム名>":"<変更後カラム名>"})