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 2024-08-02

前書き

Pythonはデータ分析や可視化の分野で非常に強力なツールを提供しています。本記事では、データ分析においてよく使用される主要なモジュール(Pandas、NumPy、Matplotlib、Seaborn、Bokeh)について、その役割と基本的な使い方をまとめます。これからデータ分析を始める方や、すでに使用している方の参考になれば幸いです。

Pandas

役割: データの操作と分析

Pandasは、データの操作や分析を行うための強力なデータ構造(SeriesとDataFrame)を提供します。データの読み込み、クリーニング、集計、変換、操作を簡単に行うことができます。

主な機能:

  • CSV、Excel、SQL、JSONなどからのデータ読み込み
  • データのフィルタリング、ソート、グループ化
  • 欠損値の処理、データの結合
  • 統計量の計算(平均、中央値、分散など)
import pandas as pd

# データフレームの作成
data = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [24, 27, 22, 32],
    'city': ['New York', 'Los Angeles', 'Chicago', 'Houston']
})

# データの表示
print(data)

実行結果:

      name  age         city
0    Alice   24     New York
1      Bob   27  Los Angeles
2  Charlie   22      Chicago
3    David   32      Houston

NumPy

役割: 配列計算と数値操作

NumPyは、Pythonで数値計算を行うための基本ライブラリです。多次元配列(ndarray)を提供し、高速な数値演算を可能にします。

主な機能:

  • 配列の作成と操作
  • 数学的関数(線形代数、フーリエ変換、統計関数など)
  • ランダム数の生成
  • 配列のブロードキャストと形状変更
import numpy as np

# 配列の作成
array = np.array([1, 2, 3, 4, 5])

# 配列の操作
print("Mean:", np.mean(array))
print("Median:", np.median(array))
print("Variance:", np.var(array))
print("Standard Deviation:", np.std(array))

実行結果:

Mean: 3.0
Median: 3.0
Variance: 2.0
Standard Deviation: 1.4142135623730951

Matplotlib

役割: データの可視化

Matplotlibは、静的な2Dプロットを作成するためのライブラリです。データの可視化に必要な基本的なプロット(折れ線グラフ、散布図、棒グラフ、ヒストグラムなど)を作成することができます。

主な機能:

  • 基本的なプロットの作成(折れ線グラフ、散布図など)
  • カスタマイズ可能なプロット(軸ラベル、タイトル、凡例などの設定)
  • グラフの保存(PNG、PDFなど)
import matplotlib.pyplot as plt

# データの作成
x = np.linspace(0, 10, 100)
y = np.sin(x)

# プロットの作成
plt.plot(x, y)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Sine Wave')
plt.show()

実行結果:
スクリーンショット 2024-08-02 21.57.44.png

Seaborn

役割: 高レベルな統計データの可視化

Seabornは、Matplotlibを基盤としており、統計データの可視化を簡単に行うための高レベルなインターフェースを提供します。デフォルトで美しいプロットを作成できるため、視覚的な魅力が高いグラフを作成するのに便利です。

主な機能:

  • ペアプロット、ヒートマップ、カウントプロットなどの統計プロット
  • データフレームと統合されたプロット
  • 色付けやスタイル設定の簡便さ
import matplotlib.pyplot as plt
import seaborn as sns

# データセットの読み込み
data = sns.load_dataset('iris')

# ペアプロットの作成
sns.pairplot(data, hue='species')
plt.show()

実行結果:
スクリーンショット 2024-08-02 22.03.10.png

Bokeh

役割: インタラクティブなデータの可視化

Bokehは、インタラクティブなWebベースの可視化を作成するためのライブラリです。動的なプロットやインタラクティブなダッシュボードを作成することができます。

主な機能:

  • インタラクティブなプロット(ズーム、パン、ホバーなどの機能付き)
  • Webアプリケーションとの統合
  • 高度なプロット(散布図、折れ線グラフ、棒グラフなど)の作成
  • プロットの出力(HTMLファイル、Jupyter Notebookなど)
import pandas as pd
import numpy as np
from bokeh.plotting import figure, show, output_file
import webbrowser

# サンプルデータの作成
data = pd.DataFrame({
    'A': np.random.randn(100),
    'B': np.random.rand(100),
})

# HTMLファイルに出力
output_file("scatter_plot.html")

# Bokehプロットの作成
p = figure(title="Scatter Plot of A vs B", x_axis_label='A', y_axis_label='B')

# 散布図の追加
p.scatter(data['A'], data['B'], legend_label='A vs B', fill_alpha=0.6, size=10)

# プロットの表示
show(p)

# ブラウザで自動的に開く
webbrowser.open("scatter_plot.html")

実行結果:
スクリーンショット 2024-08-02 22.14.45.png

まとめ

これらのモジュールを組み合わせることで、データの読み込みから可視化、分析まで一貫して行うことができます。それぞれのモジュールが持つ特性を理解し、適切に使い分けることが効果的なデータ分析の鍵となります。これらのツールを駆使して、データから有益な洞察を引き出し、ビジネスや研究に役立ててください。

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?