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)
# 汎用関数
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 公式ドキュメント。
その他の関連資料