analytics-data-analysis について
Python、pandas、可視化ライブラリ、Jupyterを使う人向けのデータ分析スキルです。データの確認と整形から統計的検証、報告までの再現可能な手順をまとめています。
主な機能
- 01探索的データ分析ワークフロー
- 02Pandasによる変換と検証
- 03Matplotlibとseabornによる可視化
- 04Jupyterノートブックの構成
- 05再現性と依存関係の管理
- 06統計検定と結果の報告
活用シーン
- 01表形式データセットの確認と整形
- 02関係性の探索と結果の可視化
- 03統計検定による分析の検証
- 04共有用の再現可能なノートブック作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill analytics-data-analysisインストール後、Claude Code で/analytics-data-analysisを入力して読み込まれたか確認します。
詳細
分析とデータ分析
pandas、matplotlib、seaborn、numpy を使用したデータ分析、可視化、Jupyter ベースのワークフローに関するガイドラインです。読みやすさ、再現性、ベクトル化された操作を優先してください。
ワークフロー:探索的データ分析パイプライン
- 読み込みと確認 —
pd.read_csv()または適切なローダーでデータを読み込み、.shape、.dtypes、.describe()、.isnull().sum()を確認します - クリーンアップと変換 — 欠損値を処理し、データ型を修正し、列名を変更して、ベクトル化された pandas 操作で外れ値を除外します
- 関係の探索 —
.groupby()、.corr()、クロス集計を使用してパターンを特定します - 結果の可視化 — matplotlib/seaborn で目的に合ったプロットを作成し、軸ラベルとタイトルを付け、色覚多様性に配慮したパレットを使用します
- 結果の検証 — 統計検定を実行し、信頼区間を報告して、前提条件を検証します
- 文書化と共有 — ノートブックを Markdown セクションで構成し、共有前に出力をクリアして、依存関係を固定します
主な原則
- 正確な Python の例を用いて、簡潔で技術的なコードを書きます
- データ分析ワークフローでは、読みやすさと再現性を重視します
- 関数型プログラミングのパターンを使用し、クラスの使用を最小限に抑えます
- パフォーマンス向上のため、明示的なループよりベクトル化された操作を活用します
- 説明的な変数命名規則を使用します(例:
is_valid、has_data、total_count) - PEP 8 のスタイルガイドラインに従います
クイックスタートの例
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# Load and inspect
df = pd.read_csv("data.csv", parse_dates=["timestamp"])
print(f"Shape: {df.shape}, Missing: {df.isnull().sum().sum()}")
# Clean: drop rows missing target, fill numeric gaps with median
df = (
df.dropna(subset=["revenue"])
.assign(category=lambda x: x["category"].astype("category"))
.fillna(df.select_dtypes("number").median())
)
# Analyze: revenue by category
summary = df.groupby("category")["revenue"].agg(["mean", "median", "std"])
# Visualize
fig, ax = plt.subplots(figsize=(10, 6))
sns.boxplot(data=df, x="category", y="revenue", palette="colorblind", ax=ax)
ax.set_title("Revenue Distribution by Category")
ax.set_ylabel("Revenue ($)")
plt.tight_layout()
plt.savefig("revenue_by_category.png", dpi=150)
plt.show()
Pandas によるデータ分析
データ操作のベストプラクティス
- すべてのデータ操作と分析のタスクに pandas を使用します
- メソッドチェーンを適用して、すっきりと読みやすい変換を行います
- 明示的なデータ選択には
locとilocを使用します - 効率的なデータ集計には
groupbyを使用します - データセットの結合には
mergeとjoinを適切に使用します
パフォーマンスの最適化
- ループではなくベクトル化された操作を使用します
- カーディナリティの低い文字列列にはカテゴリ型などの効率的なデータ構造を使用します
- メモリに収まらない大規模なデータセットでは dask の使用を検討します
- コードをプロファイリングしてボトルネックを特定し、最適化します
- メモリ使用量を最小限に抑えるため、適切なデータ型を使用します
データの検証
- データの整合性を確保するため、データ型と値の範囲を検証します
- 外部データの読み込みなど、エラーが発生しやすい操作には try-except ブロックを使用します
- 欠損値を確認し、適切に処理します
- 変換後にデータの形状と構造を検証します
可視化の基準
Matplotlib のガイドライン
- 細かなカスタマイズを制御するには matplotlib を使用します
- 適切なラベルを付けた、明確で有益なプロットを作成します
- 必ず軸ラベルとタイトルを付けます
- 関連する可視化では、一貫した配色を使用します
- 用途に応じた適切な解像度で図を保存します
統計的な可視化に Seaborn を使用する
- 統計的な可視化と魅力的なデフォルト設定には seaborn を使用します
- 一貫したスタイル設定には組み込みテーマを活用します
- データに適したプロットの種類を使用します(散布図、折れ線グラフ、棒グラフ、ヒートマップなど)
- カラーパレットの選択では、色覚多様性への配慮を検討します
可視化におけるアクセシビリティ
- 色覚多様性に配慮したパレットを使用します
- 代替テキストによる説明を含めます
- 視覚要素に十分なコントラストを確保します
- 複雑なグラフの代わりにデータテーブルを提供します
Jupyter Notebook のベストプラクティス
ノートブックの構成
- ノートブックを明確な Markdown セクションで構成します
- 概要または導入のセルから始めます
- 分析手順を十分に文書化します
- コードセルの内容を絞り、モジュール化します
- 結論と主な調査結果で締めくくります
実行と再現性
- セルを意味のある順序で実行します
- ノートブックを共有する前に出力をクリアします
- 依存関係には環境ファイル(requirements.txt)を使用します
- データソースとアクセス方法を文書化します
- 日付とバージョンの情報を含めます
コードの整理
- すべてのライブラリをノートブックの冒頭でインポートします
- ヘルパー関数は専用のセルで定義します
- マジックコマンドを適切に使用します(%matplotlib inline など)
- 各セルを簡潔にし、単一の目的に絞ります
技術要件
コア依存関係
- pandas:データ操作と分析
- numpy:数値計算
- matplotlib:基本的なプロットライブラリ
- seaborn:統計データの可視化
- jupyter:インタラクティブなコンピューティング環境
拡張ライブラリ
- scikit-learn:機械学習タスク
- scipy:科学技術計算
- plotly:インタラクティブな可視化
- statsmodels:統計モデリング
分析の実装
トラッキングと測定
- 分析の前に明確な指標と KPI を定義します
- データ収集の手法を文書化します
- 再現性を確保するために適切なデータパイプラインを実装します
- 必要に応じてレポートを自動化します
- ノートブックと分析スクリプトをバージョン管理します
統計分析
- データの種類に適した統計的検定を使用します
- 点推定値とともに信頼区間を報告します
- p 値の解釈には注意します
- 統計的有意性だけでなく、効果量も考慮します
- 仮定と制限事項を文書化します
エラー処理とロギング
- データパイプラインに適切なエラー処理を実装します
- データ品質の問題や異常をログに記録します
- 分析ワークフローに検証チェックポイントを設けます
- 既知のデータ品質の問題を文書化します
- 重要な段階でデータの妥当性チェックを組み込みます
コメント
Markdown 対応