PandasでDataFrameのグラフをmatplotlibで可視化(プロット)する方法

スポンサーリンク

データフレームのプロット方法を知ることで、わずか数行のコードでより良いデータ分析ができるようになります。

データフレームの可視化は、データ科学者がデータをより良く理解するために行う最初の活動の1つです。

データセットを可視化することで、より良いイメージを得ることができ、行動計画を立てるのに役立ちます。

また、異常値を発見したり、データセットに相関があるかどうかを推測することも容易になります。

つまり、データフレームを可視化する方法を知っていることは、重要なスキルなのです。

スポンサーリンク

Pythonでデータフレームをプロットするメソッド

まずはデータセットをインポートするところからはじめましょう。

1. データセットのインポート

このチュートリアルの範囲では、California Housingのデータセットを使用します。

まず、pandasを使ってデータをデータフレームにインポートするところから始めましょう。

import pandas as pd
housing = pd.read_csv("/sample_data/california_housing.csv")
housing.head()
import matplotlib.pyplot as plt

Pandasを使ったプロット

PandasのDataframeの.plot()メソッドを使用すると、Dataframeをプロットすることができます

Pythonノートブックにmatplotlibをインポートする必要があります。

以下の行でインポートしてください。

housing.hist(bins=50, figsize=(15,15))
plt.show()

1. データフレームヒストグラムのプロット

住宅データの全列に対応するヒストグラムをプロットするには,以下のコードを使用します.

housing.plot(x='population', y = 'median_house_value', kind='scatter')
plt.show()
housing.plot(x='median_income', y = 'median_house_value', kind='scatter')
plt.show()

これは、すべての列を一緒にプロットして見る必要がある場合に有効です。

次に、2つの列の間の散布図の作り方を見てみましょう。

2. 散布図

散布図は、2つの変数間の相関を決定するのに役立つ。

2つの変数間の散布図を描くには、次のコードを使用します。

housing.plot(x='population', y = 'total_rooms', kind='scatter')
plt.show()

これは次のような出力になります。

import seaborn as sns

データ集合の中にいくつかの外れ値があることがわかります。

2つの変数の間に強い相関は見られません。

中央値所得を中央値住宅価格に対してプロットしてみましょう。

sns.distplot(housing['median_house_value'])
sns.distplot(housing['median_income'])

ここでは、2つの変数の間に正の相関があることがわかります。

所得の中央値が上がれば,住宅価格の中央値も上 がる傾向がある。

さらに強い相関を見るために、別の散布図を描いてみましょう。

今度は、人口と総部屋数です。

論理的には、この2つは強い正の相関を持つはずです。

正の相関は、2つの変数が一緒に増加したり減少したりする傾向があることを意味します。

Housing Dataframe 2
Housing Dataframe
Plotting
Plotting

私たちの推測は正しく、総客室数と人口は強い正の相関を持っています。

グラフで見られるように、両方の変数が一緒に増加する傾向があるので、そう言うことができます。

異なるプロットをするときに使える異なる引数は以下の通りです。

  • line’ : 折れ線グラフ (デフォルト)
  • ‘bar’ : 垂直棒グラフ
  • barh’ : 水平棒グラフ
  • hist’ : ヒストグラム
  • box’ : ボックスプロット
  • ‘kde’ : カーネル密度推定プロット
  • 密度’ : ‘kde’と同じ.
  • ‘area’ : 面積プロット
  • ‘pie’ : パイプロット
  • ‘scatter’ : 散布図
  • ‘hexbin’ : hexbin プロット

Seaborn を使ったプロット

また、Seabornを使用してDataframeをプロットすることもできます。

これは、matplotlibをベースにしたPythonのデータ可視化ライブラリです。

これは、魅力的で情報量の多い統計グラフィックを描くための高レベルのインタフェースを提供します。

Seabornは非常に強力な可視化ツールです。

また、多くのカスタマイズオプションが用意されています。

1. Seabornのインポート

まず、PythonノートブックにSeabornをインポートすることから始めましょう。

Scatter Plot
Scatter Plot

2. Distplot の使用

Seabornには、distplotをプロットするオプションがあります。

Distplot はヒストグラムで、適切なデフォルトビンサイズを自動的に計算します。

次のコードで作成できます。

Scatter Plot 1
Scatter Plot
Scatter Plot 2
Scatter Plot

ここで、外れ値を見つけることもできます。

中央値収入についてもプロットしてみましょう。

Distplot
Distplot
Distplot 1
Distplot

まとめ

このチュートリアルは、PythonでPandasのDataframeをプロットすることについてでした。

DataFrame をプロットするための2つの異なる方法をカバーしました。

楽しく学んでいただければ幸いです。

タイトルとURLをコピーしました