「初めてのPandas:表データを扱ってみよう」〜現場で役立つデータ処理の基本〜
1. はじめに:CSVを触れなければAIは語れない
機械学習やデータ分析を行う上で、避けては通れないのが「表形式データ(Tabular Data)」の扱いです。特にCSVやExcelなど、実務では多くの業務データが**“表”として保存**されています。
そんな時に強力な武器になるのが、Pythonのデータ操作ライブラリ Pandas です。
本記事では、データ分析未経験者でもすぐに使えるように、Pandasの基本機能と実務での使い方を、手を動かしながら学べる形式で解説します。
2. Pandasとは?何ができるの?
Pandasは、Pythonでデータの読み込み・加工・分析を行うためのライブラリです。
主な特徴
機能 | 説明 |
---|---|
DataFrame | 行と列を持つ“表形式”のデータ構造 |
CSV, Excelの読み書き | データの入出力が簡単 |
集計・フィルタ | SQLのような操作も可能 |
欠損値処理 | 欠けたデータへの対応が柔軟 |
このように、Pandasは AI開発の前処理フェーズやEDA(探索的データ分析)で必須のツールです。
3. 実践!Pandasの基本操作
ここからは、実際にコードを書きながらPandasを体験してみましょう。
3.1 ライブラリのインポートとデータ読み込み
import pandas as pd
# CSVファイルを読み込む(今回はURLから)
url = 'https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv'
df = pd.read_csv(url)
# 最初の5行を表示
print(df.head())
3.2 データの基本情報を確認
# 行数・列数の確認
print(df.shape)
# 各列の型や欠損情報
print(df.info())
# 統計量の表示(平均、中央値、標準偏差など)
print(df.describe())
3.3 欲しい列だけ取り出す
# 特定の列
print(df['Age'])
# 複数列
print(df[['Age', 'Fare']])
3.4 条件に合う行をフィルタする
# 20歳未満の乗客
print(df[df['Age'] < 20])
# 女性で1等船室
print(df[(df['Sex'] == 'female') & (df['Pclass'] == 1)])
3.5 集計やグループ化
# クラスごとの平均年齢
print(df.groupby('Pclass')['Age'].mean())
# 性別ごとの生存率
print(df.groupby('Sex')['Survived'].mean())
3.6 欠損値の確認と補完
# 欠損値の数
print(df.isnull().sum())
# Age列の欠損を中央値で埋める
df['Age'] = df['Age'].fillna(df['Age'].median())
4. 現場で役立つTipsと落とし穴
✅ 実務でよく使うテク
操作 | コマンド例 |
---|---|
並び替え | df.sort_values('Fare', ascending=False) |
欠損除去 | df.dropna() |
新しい列追加 | df['Age_bin'] = df['Age'] // 10 |
重複削除 | df.drop_duplicates() |
❌ よくあるミス
-
df['列名']
とdf.列名
を混同してエラー -
inplace=True
の挙動で元データが上書きされる -
.loc
と.iloc
の使い分けがあいまい - 欠損値を放置してモデル学習が失敗
5. 応用編:Pandas + 可視化でEDAに挑戦
Pandasはmatplotlibやseabornと組み合わせて視覚的な分析にも使えます。
import seaborn as sns
import matplotlib.pyplot as plt
# 年齢と料金の関係
sns.scatterplot(x='Age', y='Fare', data=df)
plt.title('年齢と運賃の関係')
plt.show()
# 性別ごとの生存率
sns.barplot(x='Sex', y='Survived', data=df)
plt.title('性別ごとの生存率')
plt.show()
これだけでも、かなり実用的なダッシュボードに近いものができます。
6. まとめ:PandasはAIの“下地”を支える必須ツール
項目 | 内容 |
---|---|
👍 強み | 扱いやすく、学習コストが低い。AI前処理との親和性が高い |
⚠️ 弱み | 巨大データには不向き(→PolarsやDaskが必要) |
🚀 展望 | Notebook環境・クラウドでもそのまま活用できる |
現場では、モデル構築よりも“データ整備”の時間の方が長いことも珍しくありません。
だからこそ、Pandasをマスターすることは、AI・データエンジニアとしての第一歩です。
📎 関連リンク
📌 次回は「AIにおける「教師あり」と「教師なし」の違いって何?」をお届け予定!
フォローしてチェックしてみてください!