【Python】pandasリファレンスガイド:よく使う関数と操作のまとめ

はじめに

Pythonのpandasは、データ分析におけるデータ処理を容易にするためのライブラリです。pandasを使えば、データのインポート、加工、統計処理、可視化が簡単にできます。本記事では、pandasのよく使う関数と操作についてまとめます。

データフレームの生成と操作:よく使う関数とメソッドの紹介

pandasで最も使われるデータ構造は、データフレームです。データフレームは、複数の行と列から構成される表形式のデータで、Excelのように扱えます。以下は、データフレームの生成方法とよく使われるメソッドです。

データフレームの生成

import pandas as pd

# 辞書型データからデータフレームを生成
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 30, 35, 40],
        'city': ['Tokyo', 'Osaka', 'Nagoya', 'Fukuoka']}
df = pd.DataFrame(data)

print(df)

出力結果:

       name  age    city
0     Alice   25   Tokyo
1       Bob   30   Osaka
2   Charlie   35  Nagoya
3     David   40  Fukuoka

データフレームの操作

データフレームに対するよく使われる操作として、列や行の選択、並べ替え、集計などがあります。以下は、その一部です。

列の選択

# 特定の列を選択
df['name']

# 複数の列を選択
df[['name', 'age']]

行の選択

# 行番号で選択
df.loc[0]

# 条件式で選択
df[df['age'] > 30]

データの並べ替え

# ageの値で昇順に並べ替え
df.sort_values('age')

# ageの値で降順に並べ替え
df.sort_values('age', ascending=False)

データの統計量を取得する関数:平均、中央値、標準偏差などの基本統計量

pandasには、データの統計量を計算するための関数が用意されています。以下は、よく使われる統計関数の一部です。

基本統計量の計算

# 平均値の計算
df.mean()

# 中央値の計算
df.median()

# 最大値の計算
df.max()

# 最小値の計算
df.min()

# 標準偏差の計算
df.std()

# 分散の計算
df.var()

分位数の計算

分位数とは、データを小さい方から並べたときに、上位何%に位置するかを表す数値です。pandasでは、quantile関数を使って分位数を計算できます。

# 25%点の計算
df.quantile(0.25)

# 75%点の計算
df.quantile(0.75)

# 百分位数の計算
df.quantile([0.25, 0.5, 0.75])

データの欠損値処理:欠損値の検出、削除、補完の方法

データには欠損値が含まれることがあります。欠損値をそのままにしておくと、分析結果に歪みが生じることがあります。pandasでは、欠損値を処理するための関数が用意されています。

欠損値の検出

isnull関数を使うことで、欠損値をTrue、欠損値でない値をFalseで表す真偽値のデータフレームを作成できます。

# 欠損値の検出
df.isnull()

欠損値の削除

dropna関数を使うことで、欠損値を含む行や列を削除できます。

# 欠損値を含む行を削除
df.dropna()

# 欠損値を含む列を削除
df.dropna(axis=1)

欠損値の補完

fillna関数を使うことで、欠損値を指定した値で補完できます。

# 欠損値を0で補完
df.fillna(0)

# 欠損値を平均値で補完
df.fillna(df.mean())

データのフィルタリングとソート:条件に基づいてデータを抽出・整理

pandasを使えば、データを条件に基づいてフィルタリングし、並べ替えることができます。以下は、よく使われる関数の一部です。

条件に基づくフィルタリング

query関数を使うことで、条件に基づくフィルタリングを簡単に行えます。

# ageが30以上のデータを抽出
df.query('age >= 30')

# cityが'Tokyo'のデータを抽出
df.query('city == "Tokyo"')

特定の列に対するフィルタリング

isin関数を使うことで、特定の列に含まれる値に基づいてフィルタリングできます。

# cityが'Tokyo'または'Osaka'のデータを抽出
df[df['city'].isin(['Tokyo', 'Osaka'])]

データの並べ替え

sort_values関数を使うことで、データを任意の列で並べ替えできます。

# ageの値で昇順に並べ替え
df.sort_values('age')

# ageの値で降順に並べ替え
df.sort_values('age', ascending=False)

まとめ

本記事では、Pythonのpandasライブラリでよく使われる関数と操作についてまとめました。データフレームの生成方法や操作方法、統計関数、欠損値処理、フィルタリング、並べ替えについて解説しました。pandasを使えば、データ分析に必要な操作が簡単に実現できます。是非、データ分析に活用してみてください。