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

Matplotlibを使ってPandasデータフレームの特定の行をプロットする方法

Pandasデータフレームの特定の行だけを抽出してグラフに描画したい場面は、データ分析の現場でよくあります。本記事では、MatplotlibとPandasを組み合わせて、データフレームから必要な行のみをスライスし、プロットする手順をわかりやすく解説します。

実装の手順

  • まず、図のサイズ(figure size)を設定し、サブプロット間および周囲の余白(パディング)を調整します。
  • 次に、Pandasのデータフレーム df を作成します。データフレームは、2次元でサイズが可変、かつ異なる型のデータを格納できる表形式のデータ構造です。
  • iloc() 関数を使ってデータフレームをスライスし、プロットしたい特定の行を取り出します。
  • 最後に、show() メソッドを呼び出して図を表示します。

コード例

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

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

df = pd.DataFrame(np.random.randn(10, 5), columns=list('abcde'))
df.iloc[0:6].plot(y='e')

print(df.iloc[0:6])

# plt.show()

実行結果

このコードでは、10行×5列のランダムなデータを持つデータフレームを作成しています。iloc[0:6] は先頭から6行目まで(インデックス0〜5)をスライスするため、コードを実行するとコンソールには最初の6行が出力されます。

      a            b          c          d             e
0 1.826023    0.606137    0.389687    -0.497605     0.164785
1 0.571941    2.324981   -1.154445     0.757724     0.570713
2 -1.328481   1.248171   -0.849694    -1.133029    -0.977927
3 -0.509296   1.086251    0.809288     0.409166    -0.080694
4 0.973164    1.328212    0.858214     0.997309    -0.375427
5 1.014649    1.480790   -1.451903    -0.306659    -0.382312

グラフを表示するには

上記のコードでは、最終行の plt.show() がコメントアウトされています。この行のコメントを外して再度実行すると、スライスされたデータフレーム(先頭6行)の「e」列の値が折れ線グラフとして描画されます。

Matplotlibを使ってPandasデータフレームの特定の行をプロットする方法

ポイントまとめ

  • iloc[] は行番号(位置)ベースでデータを抽出するため、特定範囲の行を簡単に切り出せます。
  • plot(y='e') のように引数を指定すると、プロット対象の列を選択できます。
  • Jupyter Notebook以外の環境では、plt.show() を忘れるとグラフが表示されないので注意しましょう。
  1. 【Matplotlib】すべての目盛り(xticks)を表示してPandasのマルチインデックスDataFrameをプロットする方法

    PandasのマルチインデックスDataFrameを、すべてのxticks(目盛り)を表示した状態でプロットするには、以下の手順に従います。図のサイズを設定し、サブプロット間および周囲のパディングを調整します。1000件のサンプルデータからインデックス値を作成します。軸ラベルを持つ1次元のndarrayを作成します。シリーズの平均値を取得します。gデータフレームをプロットします。現在の軸に対して目盛り(ticks)と目盛りラベル(ticklabels)を設定します。図を表示するには、show()メソッドを使用します。サンプルコードimport numpy as np import matplo

  2. PandasとMatplotlibでハッチング付きの棒グラフを描画する方法

    Pandasを使ってハッチング(模様)付きの棒グラフを描画するには、Matplotlibのパッチ機能を利用します。以下の手順に従うことで、各バーに異なる模様を設定したグラフを作成できます。手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。Pandasを使用して、2つの列を持つデータフレームを作成します。現在の図にサブプロットとして軸(Axes)を追加します。kind=bar を指定して棒グラフを描画します。使用するハッチングパターンのリストを作成します。bars.patches でバーのパッチオブジェクトを取得します。各パッチを反復処理し、set_hatch()