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

MatplotlibでPandasデータフレームの95%信頼区間エラーバーをプロットする方法

PythonのPandasデータフレームから、95%信頼区間のエラーバー付きグラフをMatplotlibで描画するには、以下の手順に従います。

  • 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
  • 2次元の可変サイズの表形式データとして、データフレームのインスタンスを作成します。
  • 「category」と「number」の2列からなるデータフレームを作成します。
  • categoryごとにnumberの平均(mean)と標準偏差(std)を集計します。
  • y対xの関係を線やマーカーで描画し、エラーバーを付加します。正規分布を仮定した場合、95%信頼区間は約2倍の標準偏差で近似できます。
  • 図を表示するには、show()メソッドを使用します。

サンプルコード

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

df = pd.DataFrame()
df['category'] = np.random.choice(np.arange(10), 1000, replace=True)
df['number'] = np.random.normal(df['category'], 1)

mean = df.groupby('category')['number'].mean()
std = df.groupby('category')['number'].std()
plt.errorbar(mean.index, mean, xerr=0.5, yerr=2*std,
             linestyle='--', c='red')

plt.show()

コードの解説

このコードでは、まずnp.random.choice()を使って0〜9のカテゴリ値を1000件ランダムに生成し、それぞれに正規分布に従うノイズを加えた数値データを作成しています。

続いて、groupby()でcategoryごとにnumberの平均値と標準偏差を計算します。最後にerrorbar()関数を用い、平均値を赤色の破線で結びながら、y方向に「2 × 標準偏差」(約95%信頼区間に相当)、x方向に0.5のエラーバーを表示しています。

出力結果

MatplotlibでPandasデータフレームの95%信頼区間エラーバーをプロットする方法

  1. PythonのMatplotlibで累積分布関数(CDF)をプロットする方法

    PythonのMatplotlibで累積分布関数(CDF)をプロットするには、以下の手順に従います。手順の概要図のサイズを設定し、サブプロット間および周囲の余白を調整します。サンプルデータの個数を表す変数 N を初期化します。NumPyを使ってランダムデータを作成します。data と bins=10 を指定して、データセットのヒストグラムを計算します。確率密度関数(PDF)を求めます。手順5で得た pdf を使って、cdf を計算します。plot()メソッドを使用し、ラベル「CDF」を付けて cdf をプロットします。凡例を図上に配置します。show()メソッドで図を表示します。コード例imp

  2. PythonでPandasのデータフレームを使ってmatplotlib散布図を作成する方法

    散布図は、2つの変数間の関係を視覚的に把握するのに非常に便利なグラフです。Pandasを使えばデータフレームを簡単に作成でき、さらにsubplots()メソッドで図(fig)と軸(ax)の変数を生成できます。その後、ax.scatter()メソッドを呼び出すことで、目的の散布図を描画することが可能です。 手順 生徒数のリストを作成します。 生徒が取得した点数のリストを作成します。 各散布点の色を表現するために、色のリストを用意します。 Pandasを使って、データフレームの軸となるデータをリストとして定義します。 subplots()メソッドでfig変数とax変数を作成します。デフォルトでは