PythonのPandasの関数の一覧について
PythonのPandasライブラリは、表形式データ(データフレーム)を効率的に操作・分析するための強力なツールです。
ここでは、関数をカテゴリ別に整理し、使い方と特徴を詳しく解説します。
目次
データの読み込み・書き出し(入出力)
読み込み(pd.read_*
系関数)
関数 | 概要 | 備考 |
---|
pd.read_csv() | CSVファイルを読み込む | デフォルトはUTF-8。区切り文字に注意 |
pd.read_excel() | Excelファイル(.xlsx等)を読み込む | openpyxl やxlrd などのライブラリが必要 |
pd.read_json() | JSONファイルの読み込み | ネスト構造に注意 |
pd.read_html() | HTML内のテーブルを読み込む | リスト形式で返る。lxml 必要 |
pd.read_sql() | SQLのクエリ結果を読み込む | SQLAlchemyやDBAPIの接続エンジンが必要 |
pd.read_parquet() | Parquet形式を読み込む | 高速かつ圧縮対応、pyarrow などが必要 |
pd.read_pickle() | Pythonのpickleファイルを読み込む | Pythonオブジェクトの復元に使う |
書き出し(to_*
系メソッド)
メソッド | 概要 | 備考 |
---|
df.to_csv() | CSVに書き出す | index=False でインデックス非出力 |
df.to_excel() | Excelに書き出す | openpyxl やxlsxwriter 必須 |
df.to_json() | JSON形式で保存 | Orient指定で構造変更可 |
df.to_sql() | SQLデータベースへ保存 | エンジン接続が必要 |
df.to_parquet() | Parquet形式で保存 | 高速+圧縮で大容量処理に最適 |
df.to_pickle() | オブジェクトをpickle形式で保存 | Python専用フォーマット |
データ構造の作成・確認
作成・変換
関数・メソッド | 概要 |
---|
pd.DataFrame() | 新しいDataFrameの作成 |
pd.Series() | Seriesの作成 |
df.copy() | ディープコピーを生成 |
df.astype() | データ型を変換 |
構造の確認
属性・メソッド | 説明 |
---|
df.head() / df.tail() | 上下数行を表示 |
df.info() | 各列の型・メモリ・欠損などを表示 |
df.describe() | 統計的なサマリー(数値列対象) |
df.shape | (行数, 列数) のタプル |
df.columns | 列名の一覧(Index型) |
df.index | インデックス情報(Index型) |
※ df.shape
, df.columns
, df.index
は属性(関数ではない)です。
データ抽出・フィルタリング
抽出
メソッド | 概要 |
---|
df['col'] | 特定の列を取得 |
df[['col1', 'col2']] | 複数列を取得 |
df.loc[] | ラベル(列名やインデックス名)で抽出 |
df.iloc[] | インデックス番号で抽出 |
df.at[] / df.iat[] | 単一セルを高速に取得 |
条件による抽出
書き方 | 説明 |
---|
df[df['col'] > 0] | 条件を満たす行を抽出 |
df.query('col > 100') | SQL風記法(列名に空白があると注意が必要) |
データのクリーニング・加工
欠損値処理
メソッド | 概要 |
---|
df.isnull() / df.notnull() | 欠損の有無を論理値で取得 |
df.dropna() | 欠損行または列の削除 |
df.fillna() | 欠損に指定値を補完 |
置換・削除・重複
メソッド | 概要 |
---|
df.replace() | 値を置換(正規表現対応可能) |
df.drop() | 行または列の削除(axis に注意) |
df.duplicated() / df.drop_duplicates() | 重複の判定・除去 |
並び替え・集計・変換
並び替え
メソッド | 説明 |
---|
df.sort_values() | 値による並べ替え(昇順/降順) |
df.sort_index() | インデックスで並べ替え |
集計・統計処理
メソッド | 説明 |
---|
df.mean() / df.sum() / df.std() | 統計量 |
df.cumsum() / df.cumprod() | 累積和・累積積 |
df.diff() / df.rank() | 差分・順位付け |
df.agg() | 複数集計の同時実行(groupby() と併用が多い) |
df.groupby() | グループ単位で操作 |
df.pivot_table() | ピボットテーブル(NaN対処可能) |
pd.crosstab() | クロス集計(df. ではなく pd. に注意) |
結合・整形
結合(マージ)
関数・メソッド | 説明 |
---|
pd.concat() | DataFrameを縦・横に結合 |
pd.merge() | SQL風のJOIN |
df.join() | インデックスベース結合(on= 指定も可能) |
変形・再構成
メソッド | 概要 |
---|
df.melt() | ワイド形式 → ロング形式 |
df.pivot() | ロング → ワイド(重複があるとエラー) |
df.stack() / df.unstack() | MultiIndexの操作 |
df.transpose() / df.T | 転置(行列の入れ替え) |
時系列データ処理
メソッド | 概要 |
---|
pd.date_range() | 日付の範囲を生成 |
pd.to_datetime() | 日付型に変換 |
df.resample() | 時系列のリサンプリング(例:月次集計) |
df.shift() | 行をシフト(前後) |
df.rolling() | 移動ウィンドウで統計処理(移動平均など) |
簡易可視化(plot)
Pandasの可視化機能は内部的に Matplotlib を使用しており、別途インストールが必要です(pip install matplotlib
)
メソッド | 概要 |
---|
df.plot() | 折れ線グラフ(デフォルト) |
df.plot(kind='bar') | 棒グラフ |
df.plot(kind='hist') | ヒストグラム |
df.boxplot() | 箱ひげ図 |
df.plot.scatter(x, y) | 散布図 |
その他便利な関数
メソッド | 概要 |
---|
df.sample() | ランダム抽出 |
df.nunique() | ユニークな値の個数 |
df.value_counts() | 値の頻度集計(Series用) |
df.memory_usage() | メモリ使用量を表示 |
df.apply() | 任意の関数を行・列に適用 |
df.map() | Seriesの要素に関数適用 |
df.applymap() | DataFrameの全要素に適用 |
補足:関数を調べる方法
まとめ:目的別おすすめ関数
目的 | よく使う関数 |
---|
データ読み込み | read_csv , read_excel , read_json |
抽出・加工 | loc , query , replace , fillna |
集計 | groupby , agg , pivot_table , value_counts |
結合 | merge , concat , join |
整形 | melt , pivot , stack , unstack |
可視化 | plot , hist , boxplot , scatter |
以上、PythonのPandasの関数の一覧についてでした。
最後までお読みいただき、ありがとうございました。