0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Python] ライブラリ概観_前処理、計算、ファイリング、可視化

Last updated at Posted at 2025-03-06

まとめ

カテゴリ ライブラリ 特徴・用途
前処理 Pandas 表形式データの操作・分析
NumPy 高速な数値計算・配列操作
計算 NumPy ベクトル・行列演算
SciPy 数値解析・統計処理
SymPy 記号計算(微分・積分など)
保存 HDF5 高速なバイナリデータ保存
CSV 汎用性の高いテキスト形式
可視化 Matplotlib 高度なグラフ描画
Seaborn 統計データの可視化

詳細

前処理(データの整理・変換)

Pandas

データフレーム(表形式データ)の操作を得意とするライブラリ。データの読み込み、クリーニング、変換、統計処理などに優れる。

  • メリット:
    • CSVやExcel、SQLなど多様なデータソースを扱える。
    • DataFrame 型で直感的にデータを操作できる。
    • 強力なフィルタリング・グループ化・統計処理機能。
  • デメリット:
    • 巨大なデータ(数百万行以上)の処理は遅くなりがち。
    • NumPy配列よりもメモリ消費が大きい。

NumPy

数値計算を高速に行うためのライブラリ。多次元配列 (ndarray) を用いて効率的にデータを扱える。

  • メリット:
    • ndarray はPandasより軽量で、高速に処理できる。
    • 多くの科学技術計算ライブラリと相性が良い(SciPy, scikit-learn など)。
  • デメリット:
    • ndarray には行・列のラベルがないため、可読性が低い。
    • データの加工やクレンジングにはPandasほどの機能がない。

機能の重複

  • 共通点: Pandas と NumPy はどちらもデータの前処理に使われる。
  • 使い分け:
    • 行・列のラベルを扱うなら Pandas
    • 数値計算のパフォーマンスを重視するなら NumPy

計算(数値解析・線形代数・統計処理)

NumPy

行列計算や統計処理など、科学技術計算の基礎となるライブラリ。

  • メリット:
    • ベクトル・行列演算を高速に実行できる。
    • 科学技術計算のほとんどのライブラリ(SciPy, TensorFlow, PyTorch など)が依存。
  • デメリット:
    • 高度な数値解析機能はSciPyに依存することが多い。

SciPy

数値計算を目的としたライブラリで、線形代数、統計解析、最適化、信号処理などの機能を提供する。

  • メリット:
    • 最適化 (scipy.optimize)、統計 (scipy.stats)、微分方程式 (scipy.integrate) など、幅広い分野に対応。
    • NumPyと組み合わせることで強力な計算環境を構築できる。
  • デメリット:
    • 一部の機能は専門的で学習コストが高い。

SymPy

数式処理(記号計算)を行うライブラリ。数式の展開・微分・積分などをシンボリックに処理できる。

  • メリット:
    • 数式を解析的に扱える(例えば、代数的な解を求める)。
    • 数学的な表記がそのままPythonコードとして扱える。
  • デメリット:
    • 数値計算には向かず、大規模な計算は遅くなる。

機能の重複

  • 共通点: NumPy, SciPy, SymPy はどれも数学的な計算を行う。
  • 使い分け:
    • 行列演算・ベクトル演算なら NumPy
    • 数値解析や線形代数なら SciPy
    • 代数的な計算(微分・積分・因数分解)なら SymPy

ファイリング(データの保存・読み書き)

HDF5(h5py, PyTables)

大規模なデータを効率的に保存・読み書きするためのライブラリ。

  • メリット:
    • バイナリ形式なので、CSVよりも高速で大容量のデータを扱える。
    • 階層構造を持つデータを保存可能。
  • デメリット:
    • 可読性が低く、テキストエディタなどで直接編集しにくい。

CSV(Pandasを利用)

データの保存・読み書きに使われる一般的な形式。

  • メリット:
    • 人間が直接読める形式。
    • Excelや他のソフトウェアとの互換性が高い。
  • デメリット:
    • 読み込み・書き込みが遅い(特に大規模データ)。
    • メタデータ(データ型情報など)を保持できない。

機能の重複

  • 共通点: HDF5とCSVはどちらもデータの保存に使用される。
  • 使い分け:
    • 大規模データやバイナリ形式なら HDF5
    • 可読性や互換性を重視するなら CSV

可視化(データのグラフ・図表化)

Matplotlib

Pythonで最も基本的な可視化ライブラリ。折れ線グラフ、棒グラフ、ヒストグラムなどを描画できる。

  • メリット:
    • 細かいカスタマイズが可能。
    • 他のライブラリ(Pandas, SciPy, seabornなど)と統合しやすい。
  • デメリット:
    • コードがやや冗長になりやすい。

Seaborn

Matplotlibをベースにした統計的データ可視化ライブラリ。データフレームをそのまま扱える。

  • メリット:
    • 美しいデフォルトデザイン。
    • Pandasと親和性が高い。
  • デメリット:
    • Matplotlibほど細かいカスタマイズができない。

機能の重複

  • 共通点: Matplotlib, Seaborn はどちらもデータの可視化を行う。
  • 使い分け:
    • 細かいカスタマイズをしたいなら Matplotlib
    • 統計的な可視化なら Seaborn

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?