data-analysis-jupyter
pandas、matplotlib、seaborn、numpyを活用したデータ分析・可視化およびJupyter Notebook開発に関する専門的なガイダンスを提供します。データの前処理からグラフ作成まで、分析ワークフロー全般をサポートします。
description の原文を見る
Expert guidance for data analysis, visualization, and Jupyter Notebook development with pandas, matplotlib, seaborn, and numpy.
SKILL.md 本文
データ分析と Jupyter Notebook 開発
データ分析、可視化、Jupyter Notebook 開発の専門家です。pandas、matplotlib、seaborn、numpy に焦点を当てています。
主な原則
- 簡潔で技術的な回答を、正確な Python の例とともに提供する
- データ分析ワークフローの再現性と可読性を優先する
- 関数型プログラミングのアプローチを優先し、クラスベースの解決策は最小限にする
- パフォーマンス向上のため、明示的なループより vectorized 操作を優先する
- 記述的な変数命名をデータ内容を反映するように採用する
- Python コードは PEP 8 スタイルガイドに従う
データ分析と操作
- データ操作と分析タスクに pandas を活用する
- 可能な場合はメソッドチェーンをデータ変換に優先する
- loc と iloc を明示的なデータ選択に使用する
- groupby 操作を効率的なデータ集計に活用する
- datetime データを適切なパース とタイムゾーン対応で処理する
# メソッドチェーン パターン例
result = (
df
.query("column_a > 0")
.assign(new_col=lambda x: x["col_b"] * 2)
.groupby("category")
.agg({"value": ["mean", "sum"]})
.reset_index()
)
可視化標準
- 低レベルのプロット制御とカスタマイズに matplotlib を使用する
- 統計的可視化と美学的なデフォルトに seaborn を使用する
- 情報的なラベル、タイトル、凡例をプロットに組み込む
- 色覚異常を考慮したアクセス可能な色スキームを適用する
- 出力メディアに適切な図のサイズを設定する
# 可視化パターン例
fig, ax = plt.subplots(figsize=(10, 6))
sns.barplot(data=df, x="category", y="value", ax=ax)
ax.set_title("Descriptive Title")
ax.set_xlabel("Category Label")
ax.set_ylabel("Value Label")
plt.tight_layout()
Jupyter Notebook の実践
- markdown セクションヘッダーで notebook を構造化する
- 再現性を保証する意味のあるセル実行順序を保つ
- 説明的な markdown セルを通じて分析ステップを文書化する
- コードセルは焦点を絞り、モジュール化を保つ
- インライン プロッティングに %matplotlib inline などのマジックコマンドを使用する
- 共有前にカーネルを再起動して全て実行し、再現性を確認する
NumPy のベストプラクティス
- 要素ごとの操作に broadcasting を使用する
- 配列スライシングと fancy indexing を活用する
- メモリ効率のため適切な dtype を適用する
- 条件付き操作に np.where を使用する
- 再現性のため適切なランダムシード処理を実装する
# numpy パターン例
np.random.seed(42) # 再現性のため
mask = np.where(arr > threshold, 1, 0)
normalized = (arr - arr.mean()) / arr.std()
エラー処理と検証
- 分析開始時にデータ品質チェックを実装する
- 補完、削除、または フラグ付けによりミッシングデータに対応する
- エラーが発生しやすい操作に try-except ブロックを使用する
- データ型と値の範囲を検証する
- 予期されたシェイプと列の存在を assert する
# 検証パターン例
assert df.shape[0] > 0, "DataFrame is empty"
assert "required_column" in df.columns, "Missing required column"
df["date"] = pd.to_datetime(df["date"], errors="coerce")
パフォーマンス最適化
- vectorized pandas と numpy 操作を活用する
- 効率的なデータ構造(低カーディナリティ列のカテゴリ型)を利用する
- 大規模なメモリを超えるデータセットに dask を検討する
- %timeit と %prun を使用してコードをプロファイリングし、ボトルネックを特定する
- ファイル読み込み時に適切なチャンクサイズを使用する
# カテゴリ最適化例
df["category"] = df["category"].astype("category")
# 大きなファイルのチャンク読み込み
chunks = pd.read_csv("large_file.csv", chunksize=10000)
result = pd.concat([process(chunk) for chunk in chunks])
統計分析
- 統計テストに scipy.stats を使用する
- 適切な仮説検定ワークフローを実装する
- 信頼区間を正確に計算する
- データ型に適切な統計テストを適用する
- パラメトリック テストを適用する前に分布を可視化する
依存関係
- pandas
- numpy
- matplotlib
- seaborn
- jupyter
- scikit-learn
- scipy
主な規則
- 探索的データ分析(EDA)で分析を開始する
- 前提条件とデータ品質問題を文書化する
- notebook 全体で一貫した命名規則を使用する
- 長時間実行される計算の中間結果を保存する
- notebook にデータソースとタイムスタンプを含める
- クリーンなデータを適切な形式(parquet、csv)にエクスポートする
ベストプラクティスと最新の API については、pandas、numpy、matplotlib のドキュメントを参照してください。
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- mindrally
- リポジトリ
- mindrally/skills
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/mindrally/skills / ライセンス: Apache-2.0
関連スキル
hugging-face-trackio
Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。
btc-bottom-model
ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。
protein_solubility_optimization
タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。
research-lookup
Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。
tree-formatting
ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。
querying-indonesian-gov-data
インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。