Pandas データ前処理テクニック
Pandas でのデータ前処理テクニック
データ分析において、データの品質は非常に重要です。Pandas は Python でデータ分析を行うための強力なライブラリであり、その中にはデータの前処理を効率的に行うための様々なテクニックが用意されています。本記事では、Pandas を使ってデータの前処理を行うための主要なテクニックについて解説します。
1. 欠損値の処理
データには欠損値(NaN など)が含まれていることがよくあります。欠損値は分析結果に大きな影響を与えるため、適切な方法で処理する必要があります。
1.1 欠損値の確認
まず、欠損値の有無と分布を確認します。`isnull()` 関数や `isna()` 関数を使って、データフレーム内の各要素が欠損値かどうかを判定できます。`sum()` 関数を使って、各列における欠損値の数を集計することも可能です。
import pandas as pd
import numpy as np
# サンプルデータフレームの作成
data = {'col1': [1, 2, np.nan, 4],
'col2': [5, np.nan, 7, 8],
'col3': [9, 10, 11, 12]}
df = pd.DataFrame(data)
# 欠損値の確認
print(df.isnull())
print(df.isnull().sum())
1.2 欠損値の処理方法
欠損値の処理方法にはいくつかの選択肢があります。
- 削除: 欠損値を含む行や列を削除します。ただし、データ量が少ない場合は、情報の損失につながる可能性があります。
- 補完: 欠損値を他の値で置き換えます。例えば、平均値、中央値、最頻値、または他の行/列の値などで置き換えることができます。
# 欠損値を平均値で補完
df['col1'].fillna(df['col1'].mean(), inplace=True)
# 欠損値を中央値で補完
df['col2'].fillna(df['col2'].median(), inplace=True)
# 欠損値を最頻値で補完
df['col3'].fillna(df['col3'].mode()[0], inplace=True)
2. データ型の変換
Pandas では、データの型(数値、文字列、日付など)を変換することができます。
2.1 文字列から数値への変換
文字列として表現されている数値を数値型に変換します。
df['col1'] = df['col1'].astype(float)
2.2 日付型の変換
文字列として表現されている日付を日付型に変換します。
df['日付'] = pd.to_datetime(df['日付'])
3. データの集計とグルーピング
データフレームをグループ化したり、集計関数を適用したりすることで、データの要約や分析を行うことができます。
# 列ごとにグループ化し、平均値を計算
grouped = df.groupby('col1')['col2'].mean()
print(grouped)
これらのテクニックを組み合わせることで、Pandas を使って様々なデータの前処理を行うことができます。
Comments
Post a Comment