1. なぜこれが必要なの?
自分がデータ工場のエンジニアだと想像してみて。原材料(データ)を分析し、整理して完成品(インサイト、レポート)を得る必要がある。クリーンアップとフォーマットをしないと、データは散らばった部品みたいなもので、それを何とかするのは難しいよね。
クリーンでフォーマットされたデータは、見た目が綺麗なだけじゃなく、正確な分析やモデル作成の重要な条件でもあるんだ。不適切に処理されたデータは間違った結論を導く可能性があるし、仕事の終わりに「平均年齢を計算したつもりが、年齢の代わりに小さなデータの破片だった!」なんて状況は避けたいよね。
フォーマットの主な目的
コードに取り掛かる前に、どんな問題を回避し、フォーマットで解決したいのかを見てみよう:
- 空白行や列の削除: 空っぽのポケットみたいに役立たないし、紛らわしい。
- 重複データの削除: 重複したレコードはデータにノイズを加える。
- 欠損値の補完: チーズの穴みたいで、時々美味しいものに詰めた方がいいよね。
- データ型の変換: 年齢が数値であることを確認するのは大事だよね。同時に"25年の経験"なんて文字列と混乱しないように。
2. データのクリーンアップとフォーマットのためのツール
何が必要なのか分かったところで、次はそれを実現するためのツールを見てみよう。まるでハイテクな工具箱みたいに:
-
欠損値の削除:
dropna()
-
重複データの処理:
duplicated()
とdrop_duplicates()
- 欠損値の補完:
fillna()
-
データ型の変換:
astype()
欠損値の削除
欠損値って、いつも厄介なタイミングで現れるよね。dropna()
を使って、不要な古いソックスみたいに取り除けるんだ。例を見てみよう:
import pandas as pd
# 欠損値を含むDataFrameを作成
data = {'名前': ['アンナ', 'イワン', None, 'マリア'],
'年齢': [29, None, 34, 23],
'都市': ['モスクワ', 'サンクトペテルブルク', 'ノボシビルスク', None]}
df = pd.DataFrame(data)
# 欠損値を含む行を削除
cleaned_df = df.dropna()
print(cleaned_df)
このコードでは、少なくとも1つの欠損値が含まれる行をすべて削除するよ。
重複データの処理
時々データに重複が含まれることがあるよね。違いがないのに「間違い探し」みたいな感じで。こういったレコードはdrop_duplicates()
で取り除けるんだ。
# 重複のあるDataFrameを作成
data = {'名前': ['アンナ', 'イワン', 'アンナ', 'マリア'],
'年齢': [29, 34, 29, 23]}
df = pd.DataFrame(data)
# 重複データを削除
unique_df = df.drop_duplicates()
print(unique_df)
欠損値の補完
欠損値の補完方法はいろいろあるんだ。例えば平均値や固定値で埋めるとか。fillna()
メソッドが役立つよ:
# '年齢' の欠損値を列の平均値で補完
df['年齢'] = df['年齢'].fillna(df['年齢'].mean())
print(df)
データ型の変換
データ型の変換は時々必要だよ。文字列の値と期待される数値を混同しないために:
# '年齢' 列のデータ型を整数に変換
df['年齢'] = df['年齢'].astype(int)
print(df)
3. 実践: 実データセットのクリーンアップ
実際のレポート向けデータセットをクリーンアップしてフォーマットしてみよう。例えば、架空のExcelファイルに販売情報が入っているとするよ。
# Excelからデータを読み込む
filename = "sales_data.xlsx"
df = pd.read_excel(filename)
# 任意の列に欠損値がある行を削除
df = df.dropna()
# 重複レコードの削除
df = df.drop_duplicates()
# 欠損値を列の平均値で補完
df['販売'] = df['販売'].fillna(df['販売'].mean())
# データ型の変換
df['商品コード'] = df['商品コード'].astype(str)
# フォーマット済みデータをExcelに保存
df.to_excel("cleaned_sales_data.xlsx", index=False)
結果的に、分析とレポート作成の準備が整ったクリーンなExcelファイルができるよ。
4. データクリーンアップにおける典型的な誤り
電子機器の修理と同じように、データでも何かを間違えることはある。以下は避けるべき典型的な間違いだよ。
重複データと一緒に有用な情報も削除すること。時には重複がデータのエラーの兆候で、その原因を解明する必要があることもある。データ型を間違えること。別のフォーマットに変換するのが簡単そうに見えても、その変換が適切でない場合にデータが失われる可能性がある。
これらのアドバイスを守りながら、提案されたステップを実行すれば、データが最初はデータアナリストの悪夢のように見えても、簡単で楽しく作業できるようになるはずだよ。そして、データもコードも常にクリーンであるべきだってことを忘れずに!
GO TO FULL VERSION