Pandas の常用関数

Pandas は、データ処理や分析に使用する多数の関数を提供しています。以下は、よく使われる関数の一部です。

汎用関数

関数説明
pd.isna(obj)オブジェクトが欠損値かどうかを確認します。
pd.notna(obj)オブジェクトが欠損値でないかどうかを確認します。
pd.concat(objs, axis)複数のオブジェクトを連結します。
pd.merge(left, right, on)DataFrame を列方向に結合します。
pd.get_dummies(data)カテゴリ変数を One-Hot エンコーディングします。
pd.cut(x, bins)連続データをビニング(区分)します。
pd.qcut(x, q)分位数に基づいてビニングします。
pd.to_numeric(arg)数値に変換します。
pd.to_datetime(arg)日時に変換します。
pd.unique(values)一意の値を取得します。
pd.value_counts(values)頻度を集計します。
pd.factorize(values)カテゴリ変数をエンコードします。
pd.crosstab(index, columns)クロス集計表。
pd.pivot_table(data)ピボットテーブル。
pd.melt(frame)ワイド形式からロング形式に変換。

データの読み書き(IO)

関数説明
pd.read_csv()CSV ファイルを読み込みます。
pd.read_excel()Excel を読み込みます。
pd.read_json()JSON を読み込みます。
pd.read_html()HTML テーブルを解析します。
pd.read_sql()データベースから読み込みます。
df.to_csv()CSV を書き込みます。
df.to_excel()Excel を書き込みます。
df.to_json()JSON を書き込みます。
df.to_parquet()Parquet を書き込みます。

データクリーニング

関数説明
df.dropna()欠損値を削除します。
df.fillna()欠損値を補完します。
df.replace()データを置換します。
df.drop_duplicates()重複を削除します。
df.astype()型変換します。
df.rename()列名を変更します。
df.sort_values()並べ替えます。
df.reset_index()インデックスをリセットします。

データの選択とフィルタリング

関数説明
df.head()先頭の数行。
df.tail()末尾の数行。
df.loc[]ラベルによるインデックス参照。
df.iloc[]位置によるインデックス参照。
df.query()条件によるフィルタリング。
df.filter()列のフィルタリング。

グループ化と集計

関数説明
df.groupby()グループ化操作。
groupby.sum()集計して合計を求めます。
groupby.mean()平均値。
groupby.agg()複数の集計。
groupby.transform()変換。

数学・統計関数

関数説明
Series.sum()合計。
Series.mean()平均値。
Series.median()中央値。
Series.std()標準偏差。
Series.var()分散。
Series.corr()相関係数。
Series.quantile()分位数。
Series.cumsum()累積和。

文字列処理

関数説明
Series.str.lower()小文字。
Series.str.upper()大文字。
Series.str.strip()空白を除去。
Series.str.replace()置換。
Series.str.contains()マッチング。
Series.str.split()分割。
Series.str.len()長さ。

時系列

関数説明
pd.date_range()日付の生成。
pd.Timestamp()タイムスタンプ。
pd.Timedelta()時間差。
Series.dt.year年。
Series.dt.month月。
Series.dt.day日。
Series.dt.weekday曜日。

データの再形成

関数説明
df.pivot()ピボット。
df.pivot_table()ピボットテーブル。
df.stack()列を行に変換。
df.unstack()行を列に変換。
pd.melt()ワイド形式からロング形式に変換。

例

import pandas as pd

# 汎用関数
s = pd.Series([1, 2, 3, None])
print(pd.isna(s))

# 数学
print(s.sum())

# 文字列
s_str = pd.Series(['a', 'b'])
print(s_str.str.upper())

# 日時
dates = pd.to_datetime(['2023-01-01'])
print(dates.dt.month)

より詳細な情報が必要な場合は、以下を参照してください。Pandas 公式ドキュメント。

その他の関連資料