Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python・Pandas・MatplotlibでDataFrameの頻度プロット(棒グラフ)を作成する方法

PythonのPandas DataFrameでデータの頻度(出現回数)を可視化したい場合、value_counts()メソッドとMatplotlibを組み合わせることで、簡単に頻度プロットを作成できます。

この記事では、Matplotlibを使ってPandas DataFrameの頻度プロットを表示する手順を、サンプルコード付きでわかりやすく解説します。

頻度プロットを作成する手順

以下の手順に従って、DataFrameの値ごとの出現回数を棒グラフとして表示できます。

  • 図のサイズと余白を設定するplt.rcParamsでfigureサイズや自動レイアウト調整を指定します。
  • 図とサブプロットを作成するplt.subplots()でFigureオブジェクトとAxesオブジェクトを生成します。
  • 2次元の表形式データ(DataFrame)を作成する — サンプルデータとして、サイズ変更可能な2次元のテーブルデータを用意します。
  • 一意な値の出現回数を集計するvalue_counts()メソッドで、各ユニークな値のカウントを含むSeriesを取得します。
  • 図を表示するshow()メソッドを使ってグラフを画面に描画します。

サンプルコード

import pandas as pd
from matplotlib import pyplot as plt

# 図のサイズとレイアウトの設定
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# 図とサブプロットの作成
fig, ax = plt.subplots()

# サンプルDataFrameを作成
df = pd.DataFrame({'numbers': [2, 4, 1, 4, 3, 2, 1, 3, 2, 4]})

# value_counts()で頻度を集計し、棒グラフとして描画
df['numbers'].value_counts().plot(ax=ax, kind='bar', xlabel='numbers', ylabel='frequency')

# グラフを表示
plt.show()

コードのポイント解説

  • value_counts()は、Series内の一意な値それぞれの出現回数を降順で返します。今回の例では「2」と「4」が3回、「1」と「3」が2回出現しています。
  • kind='bar'を指定することで、集計結果が縦棒グラフとして描画されます。折れ線グラフにしたい場合はkind='line'に変更できます。
  • xlabelylabel引数により、X軸・Y軸のラベル名を自由に設定できます。

実行結果

上記のコードを実行すると、X軸に「numbers」の各値、Y軸にその出現頻度(frequency)を示した棒グラフが表示されます。これにより、データ内のどの値が最も多く出現しているかがひと目で把握できます。

まとめ

Pandasのvalue_counts()とMatplotlibのplot()を組み合わせれば、わずか数行のコードでDataFrameの頻度分布を直感的に可視化できます。カテゴリカルデータの分布確認や、データクレンジング前の概要把握など、日常的なデータ分析作業でぜひ活用してみてください。

  1. Python Matplotlibで3Dグラフをプロットする方法を解説

    PythonのMatplotlibを使えば、3次元の散布図やグラフを簡単に描画できます。この記事では、mpl_toolkits.mplot3dモジュールを利用して3Dグラフを作成する手順を、サンプルコード付きでわかりやすく解説します。 3Dグラフをプロットする基本手順 Pythonで3Dグラフを描くには、以下のステップに従います。 figure()メソッドを使って、新しい図(フィギュア)を作成するか、既存の図をアクティブにします。 Axes3Dオブジェクトを取得して、3D用の座標軸を準備します。 x、y、zそれぞれのデータポイントをリストとして定義します。 scatter3D()メソッドを使

  2. Matplotlibでプロット上のグリッドサイズを定義する方法

    Matplotlib を使ってプロット上にグリッド(格子線)を表示し、その間隔(サイズ)を自由に定義する方法を紹介します。基本的な流れは以下の手順のとおりです。 グリッドサイズを定義する手順 figure() メソッドを使って、新しい図(Figure)を作成するか、既存の図をアクティブにします。 サブプロット配置の一部として、add_subplot() で図に Axes(座標軸)を追加します。 入力リストを渡して曲線をプロットします。 margins() メソッドで x 軸・y 軸のマージンを 0 に設定します。 X 軸のグリッド位置を指定するには、set_ticks() に目盛りの座標