Pythonのpandasを使ったデータ分析入門【実務で使えるコード集】

Pythonのpandasを使ったデータ分析入門【実務で使えるコード集】 AIツール・レビュー

はじめに

Pythonでデータ分析を始めるとき、最初に覚えるべきライブラリが「pandas(パンダス)」です。Excelのような表形式のデータを扱うためのライブラリで、機械学習の前処理から日常的なデータ集計まで幅広く使えます。

僕は製造業でデータ分析を担当していますが、日常業務の8割はpandasで完結しています。この記事では、実務でよく使うpandasの操作をコード付きで紹介します。

pandasの基本

インストールと読み込み

pip install pandas openpyxl

import pandas as pd
import numpy as np

データの読み込み

# CSVの読み込み
df = pd.read_csv('data.csv', encoding='utf-8')

# Excelの読み込み
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 基本情報の確認
print(df.shape)      # 行数・列数
print(df.dtypes)     # 各列のデータ型
print(df.head())     # 先頭5行
print(df.describe()) # 基本統計量

よく使う操作集

① 列の選択・追加・削除

# 列の選択
df_selected = df[['col1', 'col2']]

# 新しい列の追加
df['ratio'] = df['A'] / df['B']

# 列の削除
df = df.drop(columns=['不要な列'])

② 条件でフィルタリング

# 単一条件
df_filtered = df[df['売上'] > 100]

# 複数条件(AND)
df_filtered = df[(df['売上'] > 100) & (df['地域'] == '長野')]

# 複数条件(OR)
df_filtered = df[(df['ランク'] == 'A') | (df['ランク'] == 'B')]

③ 欠損値の処理

# 欠損値の確認
print(df.isnull().sum())

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

# 特定の列の欠損値を平均で補完
df['売上'] = df['売上'].fillna(df['売上'].mean())

# 前の値で補完(時系列データ向け)
df['センサー値'] = df['センサー値'].fillna(method='ffill')

④ グループ集計

# 地域別の売上合計
result = df.groupby('地域')['売上'].sum()

# 複数の集計を同時に行う
result = df.groupby('地域').agg({
    '売上': ['sum', 'mean', 'count'],
    '利益': 'sum'
})

# 月別・カテゴリ別の集計
result = df.groupby(['月', 'カテゴリ'])['売上'].sum().unstack()

⑤ データの結合

# 縦方向に結合(行の追加)
df_all = pd.concat([df1, df2], ignore_index=True)

# 横方向に結合(Excelのvlookupに相当)
df_merged = pd.merge(df_left, df_right, on='ID', how='left')

⑥ 日付データの処理

# 日付型に変換
df['日付'] = pd.to_datetime(df['日付'])

# 年・月・曜日の抽出
df['年'] = df['日付'].dt.year
df['月'] = df['日付'].dt.month
df['曜日'] = df['日付'].dt.day_name()

# 月次集計
df_monthly = df.resample('M', on='日付')['売上'].sum()

⑦ ピボットテーブル

# Excelのピボットテーブルと同じ感覚で使える
pivot = df.pivot_table(
    values='売上',
    index='地域',
    columns='商品カテゴリ',
    aggfunc='sum',
    fill_value=0
)

⑧ データの出力

# CSV出力
df.to_csv('output.csv', index=False, encoding='utf-8-sig')  # BOMあり(Excel対応)

# Excel出力
df.to_excel('output.xlsx', sheet_name='結果', index=False)

実務でよく使うコードパターン

月次レポートの自動化

import pandas as pd
from datetime import datetime

# データ読み込み
df = pd.read_csv('sales.csv')
df['日付'] = pd.to_datetime(df['日付'])

# 当月のデータを抽出
now = datetime.now()
df_this_month = df[
    (df['日付'].dt.year == now.year) &
    (df['日付'].dt.month == now.month)
]

# 地域別集計
summary = df_this_month.groupby('地域').agg(
    売上合計=('売上', 'sum'),
    件数=('売上', 'count'),
    平均単価=('売上', 'mean')
).round(0)

# Excel出力
summary.to_excel(f'{now.year}{now.month:02d}_月次レポート.xlsx')
print("レポート出力完了")

まとめ

pandasで実務に役立つ操作をまとめました。最初から全部覚える必要はありません。まずはCSVの読み込み→フィルタリング→グループ集計→出力の基本的な流れを身につけてください。Excelで時間がかかっていた集計作業が、pandasを使えば数行のコードで自動化できます。

💼 ITエンジニア転職特化

自分らしく働けるエンジニア転職を目指すなら【strategy career】

年収1000万・残業月30時間以下・リモート可の求人多数

💼 無料で転職相談する →

※アフィリエイト広告を含みます

※本記事にはアフィリエイトリンクが含まれます。

コメント

タイトルとURLをコピーしました