Pythonによるデータ分析

この記事では、Python を使用してデータ分析を行う方法について説明します。 NumPy を使用した数値データの分析、Pandas を使用した表形式データ、データ視覚化 Matplotlib、および探索的データ分析など、あらゆる種類のデータ分析について説明します。

Pythonによるデータ分析

データ分析 データを収集、変換、整理して将来の予測を行い、情報に基づいた意思決定を行う手法です。また、ビジネス上の問題に対する考えられる解決策を見つけるのにも役立ちます。データ分析には 6 つのステップがあります。彼らです:

  • データ要件を尋ねるか指定する
  • データの準備または収集
  • 洗浄と処理
  • 分析する
  • 共有
  • 行為または報告

Pythonによるデータ分析



注記: これらの手順の詳細については、「 ナムピー は Python の配列処理パッケージであり、これらの配列を操作するための高性能の多次元配列オブジェクトとツールを提供します。これは、Python を使用した科学計算の基本的なパッケージです。

NumPy の配列

NumPy 配列 は、正の整数のタプルによってインデックス付けされた、すべて同じタイプの要素 (通常は数値) のテーブルです。 Numpy では、配列の次元数を配列のランクと呼びます。各次元に沿った配列のサイズを与える整数のタプルは、配列の形状として知られています。

NumPy 配列の作成

NumPy 配列は、さまざまなランクで複数の方法で作成できます。リスト、タプルなどのさまざまなデータ型を使用して作成することもできます。結果として得られる配列の型は、シーケンス内の要素の型から推定されます。 NumPy は、初期のプレースホルダー コンテンツを含む配列を作成するための関数をいくつか提供します。これらにより、高価な操作である配列の拡張の必要性が最小限に抑えられます。

を使用して配列を作成します numpy.empty(shape, dtype=float, order=’C’)

Python3
import numpy as np b = np.empty(2, dtype = int) print('Matrix b : 
', b) a = np.empty([2, 2], dtype = int) print('
Matrix a : 
', a) c = np.empty([3, 3]) print('
Matrix c : 
', c) 

出力:

パンダを使用した空の行列

パンダを使用した空の行列

を使用して配列を作成します numpy.zeros(形状、dtype = なし、順序 = 'C')

Python3
import numpy as np b = np.zeros(2, dtype = int) print('Matrix b : 
', b) a = np.zeros([2, 2], dtype = int) print('
Matrix a : 
', a) c = np.zeros([3, 3]) print('
Matrix c : 
', c) 

出力:

Matrix b :   [0 0]  Matrix a :   [[0 0]  [0 0]]  Matrix c :   [[0. 0. 0.]  [0. 0. 0.]  [0. 0. 0.]] 

Numpy 配列の操作

算術演算

  • 追加:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing addition using arithmetic operator add_ans = a+b print(add_ans) # Performing addition using numpy function add_ans = np.add(a, b) print(add_ans) # The same functions and operations can be used for # multiple matrices c = np.array([1, 2, 3, 4]) add_ans = a+b+c print(add_ans) add_ans = np.add(a, b, c) print(add_ans) 

出力:

[ 7 77 23 130] [ 7 77 23 130] [ 8 79 26 134] [ 7 77 23 130] 
  • 減算:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing subtraction using arithmetic operator sub_ans = a-b print(sub_ans) # Performing subtraction using numpy function sub_ans = np.subtract(a, b) print(sub_ans) 

出力:

[ 3 67 3 70] [ 3 67 3 70] 
  • 乗算:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing multiplication using arithmetic # operator mul_ans = a*b print(mul_ans) # Performing multiplication using numpy function mul_ans = np.multiply(a, b) print(mul_ans) 

出力:

[ 10 360 130 3000] [ 10 360 130 3000] 
  • 分割:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing division using arithmetic operators div_ans = a/b print(div_ans) # Performing division using numpy functions div_ans = np.divide(a, b) print(div_ans) 

出力:

[ 2.5 14.4 1.3 3.33333333] [ 2.5 14.4 1.3 3.33333333] 

詳細については、こちらを参照してください。 NumPy – 算術演算のチュートリアル

NumPy 配列のインデックス作成

インデックス作成 NumPy では配列をインデックスとして使用して実行できます。スライスの場合、配列のビューまたは浅いコピーが返されますが、インデックス配列では、元の配列のコピーが返されます。 Numpy 配列には、他の配列またはタプルを除く他のシーケンスでインデックスを付けることができます。最後の要素には、-1 秒、最後に -2 というようにインデックスが付けられます。

Python NumPy 配列のインデックス付け

Python3
# Python program to demonstrate # the use of index arrays. import numpy as np # Create a sequence of integers from # 10 to 1 with a step of -2 a = np.arange(10, 1, -2) print('
 A sequential array with a negative step: 
',a) # Indexes are specified inside the np.array method. newarr = a[np.array([3, 1, 2 ])] print('
 Elements at these indices are:
',newarr) 

出力:

A sequential array with a negative step:   [10 8 6 4 2]   Elements at these indices are:  [4 8 6] 

NumPy 配列のスライス

構文 x[obj] について考えてみましょう。x は配列、obj はインデックスです。スライスオブジェクトは、次の場合のインデックスです。 基本的なスライス 。基本的なスライスは、obj が次の場合に発生します。

  • 開始: 停止: ステップの形式のスライス オブジェクト
  • 整数
  • またはスライスオブジェクトと整数のタプル

基本的なスライスによって生成されたすべての配列は、常に元の配列のビューになります。

Python3
# Python program for basic slicing. import numpy as np # Arrange elements from 0 to 19 a = np.arange(20) print('
 Array is:
 ',a) # a[start:stop:step] print('
 a[-8:17:1] = ',a[-8:17:1]) # The : operator means all elements till the end. print('
 a[10:] = ',a[10:]) 

出力:

Array is: [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]  a[-8:17:1] = [12 13 14 15 16]  a[10:] = [10 11 12 13 14 15 16 17 18 19] 

省略記号は、基本的なスライスと併せて使用することもできます。省略記号 (…) は、配列の次元と同じ長さの選択タプルを作成するために必要な : オブジェクトの数です。

Python3
# Python program for indexing using basic slicing with ellipsis import numpy as np # A 3 dimensional array. b = np.array([[[1, 2, 3],[4, 5, 6]], [[7, 8, 9],[10, 11, 12]]]) print(b[...,1]) #Equivalent to b[: ,: ,1 ] 

出力:

[[ 2 5]  [ 8 11]] 

NumPy 配列ブロードキャスト

用語 放送 これは、特定の制約につながる算術演算中に numpy が異なる次元の配列をどのように処理するかを指します。互換性のある形状になるように、小さい配列が大きい配列全体にブロードキャストされます。

大規模なデータセットがあり、各データがパラメーターのリストであると仮定しましょう。 Numpy には 2 次元配列があり、各行がデータであり、行数がデータセットのサイズです。これらすべてのデータに何らかのスケーリングを適用したいとします。すべてのパラメーターが独自のスケーリング係数を取得するか、すべてのパラメーターに何らかの係数が乗算されるとします。

明確に理解するために、主要栄養素の内訳を使用して食品のカロリーを数えてみましょう。大まかに言うと、食品のカロリー部分は脂肪(1グラムあたり9カロリー)、タンパク質(4CPG)、炭水化物(4CPG)で構成されています。したがって、いくつかの食品 (データ) をリストし、各食品リストの主要栄養素の内訳 (パラメーター) を指定すると、各栄養素にそのカロリー値を乗算して (スケーリングを適用)、すべての食品のカロリー内訳を計算できます。

NumPy 配列ブロードキャスト

この変換により、あらゆる種類の有用な情報を計算できるようになりました。たとえば、ある食品に含まれるカロリーの合計はいくらか、または夕食の内訳から、タンパク質から摂取したカロリーはどれくらいかなどがわかります。

Numpy を使用してこの計算を生成する単純な方法を見てみましょう。

Python3
import numpy as np macros = np.array([ [0.8, 2.9, 3.9], [52.4, 23.6, 36.5], [55.2, 31.7, 23.9], [14.4, 11, 4.9] ]) # Create a new array filled with zeros, # of the same shape as macros. result = np.zeros_like(macros) cal_per_macro = np.array([3, 3, 8]) # Now multiply each row of macros by # cal_per_macro. In Numpy, `*` is # element-wise multiplication between two arrays. for i in range(macros.shape[0]): result[i, :] = macros[i, :] * cal_per_macro result 

出力:

array([[ 2.4, 8.7, 31.2],  [157.2, 70.8, 292. ],  [165.6, 95.1, 191.2],  [ 43.2, 33. , 39.2]]) 

放送ルール: 2 つの配列を一緒にブロードキャストする場合は、次のルールに従います。

  • 配列のランクが同じでない場合は、両方の形状が同じ長さになるまで、下位ランクの配列の形状の先頭に 1 を追加します。
  • 2 つの配列は、次元で同じサイズを持つ場合、または配列の 1 つがその次元でサイズ 1 である場合、次元で互換性があります。
  • すべての次元と互換性がある場合、配列は一緒にブロードキャストできます。
  • ブロードキャスト後、各配列は、2 つの入力配列の要素ごとの最大形状と等しい形状であるかのように動作します。
  • 一方の配列のサイズが 1 で、もう一方の配列のサイズが 1 より大きい次元では、最初の配列はその次元に沿ってコピーされたかのように動作します。
Python3
import numpy as np v = np.array([12, 24, 36]) w = np.array([45, 55]) # To compute an outer product we first # reshape v to a column vector of shape 3x1 # then broadcast it against w to yield an output # of shape 3x2 which is the outer product of v and w print(np.reshape(v, (3, 1)) * w) X = np.array([[12, 22, 33], [45, 55, 66]]) # x has shape 2x3 and v has shape (3, ) # so they broadcast to 2x3, print(X + v) # Add a vector to each column of a matrix X has # shape 2x3 and w has shape (2, ) If we transpose X # then it has shape 3x2 and can be broadcast against w # to yield a result of shape 3x2. # Transposing this yields the final result # of shape 2x3 which is the matrix. print((X.T + w).T) # Another solution is to reshape w to be a column # vector of shape 2X1 we can then broadcast it # directly against X to produce the same output. print(X + np.reshape(w, (2, 1))) # Multiply a matrix by a constant, X has shape 2x3. # Numpy treats scalars as arrays of shape(); # these can be broadcast together to shape 2x3. print(X * 2) 

出力:

[[ 540 660]  [1080 1320]  [1620 1980]] [[ 24 46 69]  [ 57 79 102]] [[ 57 67 78]  [100 110 121]] [[ 57 67 78]  [100 110 121]] [[ 24 44 66]  [ 90 110 132]] 

注記: 詳細については、こちらを参照してください。 Python NumPy チュートリアル

Pandas を使用したデータ分析

Python Pandas は、リレーショナル データやラベル付きデータに使用され、そのようなデータや時系列を操作するためのさまざまなデータ構造を提供します。このライブラリは、NumPy ライブラリの上に構築されています。このモジュールは通常、次のようにインポートされます。

import pandas as pd 

ここで、pd は Pandas のエイリアスとして参照されます。ただし、エイリアスを使用してライブラリをインポートする必要はありません。エイリアスを使用すると、メソッドまたはプロパティが呼び出されるたびに記述するコードの量が少なくなるだけです。通常、パンダはデータを操作するために 2 つのデータ構造を提供します。

  • シリーズ
  • データフレーム

シリーズ:

パンダシリーズ は、任意の型 (整数、文字列、浮動小数点、Python オブジェクトなど) のデータを保持できる 1 次元のラベル付き配列です。軸ラベルは総称してインデックスと呼ばれます。 Pandas シリーズは Excel シート内の列にすぎません。ラベルは一意である必要はありませんが、ハッシュ可能なタイプである必要があります。このオブジェクトは、整数ベースとラベルベースの両方のインデックス作成をサポートし、インデックスに関係する操作を実行するための多数のメソッドを提供します。

パンダシリーズ

Series() 関数を使用して、SQL、データベース、CSV ファイル、Excel ファイルなどの既存のストレージ、またはリスト、辞書などのデータ構造からデータセットをロードすることで作成できます。

Python Pandas の作成シリーズ

Python3
import pandas as pd import numpy as np # Creating empty series ser = pd.Series() print(ser) # simple array data = np.array(['g', 'e', 'e', 'k', 's']) ser = pd.Series(data) print(ser) 

出力:

プナダシリーズ

プナダシリーズ

データフレーム:

パンダのデータフレーム ラベル付きの軸 (行と列) を持つ、サイズ変更可能で、潜在的に異種混合の表形式データ構造です。データ フレームは 2 次元のデータ構造です。つまり、データは行と列に表形式で配置されます。 Pandas DataFrame は、データ、行、列という 3 つの主要コンポーネントで構成されます。

パンダのデータフレーム

Dataframe() メソッドを使用して作成でき、シリーズと同様に、さまざまなファイル タイプやデータ構造から作成することもできます。

Python Pandas データフレームの作成

Python3
import pandas as pd # Calling DataFrame constructor df = pd.DataFrame() print(df) # list of strings lst = ['Geeks', 'For', 'Geeks', 'is', 'portal', 'for', 'Geeks'] # Calling DataFrame constructor on list df = pd.DataFrame(lst) df 

出力:

リストからデータフレームを作成する

Pythonリストからデータフレームを作成する

CSVからデータフレームを作成する

我々はできる CSVからデータフレームを作成する を使用したファイル read_csv() 関数。

Python Pandas は CSV を読み取ります

Python3
import pandas as pd # Reading the CSV file df = pd.read_csv('Iris.csv') # Printing top 5 rows df.head() 

出力:

データフレームの先頭

データフレームの先頭

データフレームのフィルタリング

パンダ データフレーム.フィルター() 関数は、指定されたインデックスのラベルに従ってデータフレームの行または列をサブセット化するために使用されます。このルーチンは、データフレームの内容をフィルター処理しないことに注意してください。フィルターはインデックスのラベルに適用されます。

Python Pandas フィルター データフレーム

Python3
import pandas as pd # Reading the CSV file df = pd.read_csv('Iris.csv') # applying filter function df.filter(['Species', 'SepalLengthCm', 'SepalLengthCm']).head() 

出力:

データセットにフィルターを適用する

データセットにフィルターを適用する

データフレームの並べ替え

pandasでデータフレームをソートするには、関数 並べ替え値() 使用されている。 Pandas sort_values() は、データ フレームを昇順または降順で並べ替えることができます。

Python Pandas データフレームを昇順で並べ替える

出力:

列の値に基づいて並べ替えられたデータセット

列の値に基づいて並べ替えられたデータセット

パンダのグループ化

グルービー は非常に単純な概念です。カテゴリのグループを作成し、カテゴリに関数を適用できます。実際のデータ サイエンス プロジェクトでは、大量のデータを扱い、何度も試行することになるため、効率性を高めるために、Groupby の概念を使用します。 Groupby は主に、次の 1 つ以上のステップを含むプロセスを指します。

  • 分割: データセットにいくつかの条件を適用してデータをグループに分割するプロセスです。
  • 申請中: これは、各グループに個別に関数を適用するプロセスです。
  • 組み合わせる: これは、groupby と結果をデータ構造に適用した後、さまざまなデータセットを結合するプロセスです。

次の図は、Groupby の概念に含まれるプロセスを理解するのに役立ちます。

1.「チーム」列の一意の値をグループ化します。

Pandas Groupby メソッド

2. 各グループにバケットができました

3. 他のデータをバケットに放り込む

パンダのグループ化

4. 各バケットの重み列に関数を適用します。

各列の重み列に関数を適用する

Python パンダ GroupBy

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'Name': ['Jai', 'Anuj', 'Jai', 'Princi', 'Gaurav', 'Anuj', 'Princi', 'Abhi'], 'Age': [27, 24, 22, 32, 33, 36, 27, 32], 'Address': ['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj', 'Jaunpur', 'Kanpur', 'Allahabad', 'Aligarh'], 'Qualification': ['Msc', 'MA', 'MCA', 'Phd', 'B.Tech', 'B.com', 'Msc', 'MA']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) print('Original Dataframe') display(df) # applying groupby() function to # group the data on Name value. gk = df.groupby('Name') # Let's print the first entries # in all the groups formed. print('After Creating Groups') gk.first() 

出力:

パンダのグルービー

パンダのグルービー

グループに関数を適用する:

データをグループに分割した後、各グループに関数を適用して、次のようないくつかの操作を実行します。

  • 集計: これは、各グループに関する要約統計 (または統計) を計算するプロセスです。たとえば、グループの合計または平均を計算します。
  • 変換: これは、グループ固有の計算を実行し、類似のインデックスを返すプロセスです。たとえば、グループ内の NA に各グループから導出された値を入力します。
  • 濾過: これは、True または False を評価するグループごとの計算に従って、いくつかのグループを破棄するプロセスです。たとえば、グループの合計または平均に基づいてデータをフィルタリングする

パンダの集約

集計 これは、各グループに関する要約統計量を計算するプロセスです。集計関数は、グループごとに 1 つの集計値を返します。 groupby 関数を使用してデータをグループに分割した後、グループ化されたデータに対していくつかの集計操作を実行できます。

Python パンダの集約

Python3
# importing pandas module import pandas as pd # importing numpy as np import numpy as np # Define a dictionary containing employee data data1 = {'Name': ['Jai', 'Anuj', 'Jai', 'Princi', 'Gaurav', 'Anuj', 'Princi', 'Abhi'], 'Age': [27, 24, 22, 32, 33, 36, 27, 32], 'Address': ['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj', 'Jaunpur', 'Kanpur', 'Allahabad', 'Aligarh'], 'Qualification': ['Msc', 'MA', 'MCA', 'Phd', 'B.Tech', 'B.com', 'Msc', 'MA']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) # performing aggregation using # aggregate method grp1 = df.groupby('Name') grp1.aggregate(np.sum) 

出力:

データセットでの合計集計関数の使用

データセットでの合計集計関数の使用

データフレームの連結

データフレームを連結するには、次を使用します。 concat() データフレームの連結に役立つ関数。この関数は、他の軸上のインデックス (存在する場合) のオプションの設定ロジック (和集合または交差) を実行しながら、Pandas オブジェクトの軸に沿って連結操作を実行するという重労働をすべて実行します。

Python Pandas のデータフレームの連結

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'], 'Age':[27, 24, 22, 32],} # Define a dictionary containing employee data data2 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Address':['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj'], 'Qualification':['Btech', 'B.A', 'Bcom', 'B.hons']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) # Convert the dictionary into DataFrame df1 = pd.DataFrame(data2) display(df, df1) # combining series and dataframe res = pd.concat([df, df1], axis=1) res 

出力:

データフレームのマージ

非常に大規模な DataFrame を結合する必要がある場合、結合はこれらの操作を迅速に実行する強力な方法として機能します。結合は、一度に 2 つの DataFrame (左テーブルと右テーブルとして示されます) でのみ実行できます。キーは、2 つの DataFrame が結合される共通の列です。行値の意図しない重複を避けるために、列全体で一意の値を持つキーを使用することをお勧めします。パンダは単一の機能を提供します。 マージ() 、DataFrame オブジェクト間のすべての標準データベース結合操作のエントリ ポイントとして使用されます。

どの行がデータを保持する必要があるかに応じて、結合を処理する 4 つの基本的な方法 (内部、左、右、外部) があります。

Daframe Python Panda をマージする

Python Pandas のデータフレームのマージ

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'], 'Age':[27, 24, 22, 32],} # Define a dictionary containing employee data data2 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Address':['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj'], 'Qualification':['Btech', 'B.A', 'Bcom', 'B.hons']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) # Convert the dictionary into DataFrame df1 = pd.DataFrame(data2) display(df, df1) # using .merge() function res = pd.merge(df, df1, on='key') res 

出力:

2 つのデータセットを連結する

2 つのデータセットを連結する

データフレームに参加する

データフレームに参加するには、次を使用します。 。参加する() function この関数は、インデックスが異なる可能性がある 2 つの DataFrame の列を 1 つの結果 DataFrame に結合するために使用されます。

Python パンダがデータフレームに参加する

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'], 'Age':[27, 24, 22, 32]} # Define a dictionary containing employee data data2 = {'Address':['Allahabad', 'Kannuaj', 'Allahabad', 'Kannuaj'], 'Qualification':['MCA', 'Phd', 'Bcom', 'B.hons']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1,index=['K0', 'K1', 'K2', 'K3']) # Convert the dictionary into DataFrame df1 = pd.DataFrame(data2, index=['K0', 'K2', 'K3', 'K4']) display(df, df1) # joining dataframe res = df.join(df1) res 

出力:

2 つのデータセットを結合する

詳細については、こちらを参照してください。 パンダのマージ、結合、連結 チュートリアル

Pandas の完全なガイドについては、以下を参照してください。 パンダのチュートリアル

Matplotlib による視覚化

Matplotlib は使いやすく、Python の素晴らしい視覚化ライブラリです。これは NumPy 配列に基づいて構築されており、より広範な SciPy スタックで動作するように設計されており、線、棒、散布図、ヒストグラムなどのいくつかのプロットで構成されています。

パイプロット

パイプロット は、MATLAB のようなインターフェイスを提供する Matplotlib モジュールです。 Pyplot は、Figure と対話する関数を提供します。つまり、Figure を作成し、ラベルでプロットを装飾し、Figure 内にプロット領域を作成します。

Python3
# Python program to show pyplot module import matplotlib.pyplot as plt plt.plot([1, 2, 3, 4], [1, 4, 9, 16]) plt.axis([0, 6, 0, 20]) plt.show() 

出力:

棒グラフ

棒グラフ 棒グラフは、長さと高さが表す値に比例する長方形の棒でデータのカテゴリを表すグラフです。棒グラフは水平方向または垂直方向にプロットできます。棒グラフは、個別のカテゴリ間の比較を示します。 bar() メソッドを使用して作成できます。

Python Matplotlib 棒グラフ

ここでは、iris データセットのみを使用します

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') # This will plot a simple bar chart plt.bar(df['Species'], df['SepalLengthCm']) # Title to the plot plt.title('Iris Dataset') # Adding the legends plt.legend(['bar']) plt.show() 

出力:

matplotlib ライブラリを使用した棒グラフ

matplotlib ライブラリを使用した棒グラフ

ヒストグラム

ヒストグラム は基本的に、データをいくつかのグループの形式で表すために使用されます。これは棒グラフの一種で、X 軸がビンの範囲を表し、Y 軸が周波数に関する情報を示します。ヒストグラムを作成するには、最初の手順として範囲のビンを作成し、次に値の範囲全体を一連の間隔に分配し、各間隔に入る値を数えます。ビンは、変数の連続した重複しない間隔として明確に識別されます。の ヒスト() 関数は、x のヒストグラムを計算して作成するために使用されます。

Python Matplotlib ヒストグラム

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.hist(df['SepalLengthCm']) # Title to the plot plt.title('Histogram') # Adding the legends plt.legend(['SepalLengthCm']) plt.show() 

出力:

matplotlib ライブラリを使用したヒストプロット

散布図

散布図は変数間の関係を観察するために使用され、ドットを使用して変数間の関係を表します。の 散布() matplotlib ライブラリのメソッドは、散布図を描画するために使用されます。

Python Matplotlib 散布図

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.scatter(df['Species'], df['SepalLengthCm']) # Title to the plot plt.title('Scatter Plot') # Adding the legends plt.legend(['SepalLengthCm']) plt.show() 

出力:

matplotlib ライブラリを使用した散布図

matplotlib ライブラリを使用した散布図

箱ひげ図

箱ひげ図 ,相関は箱ひげ図とも呼ばれます。これは、データ分布を測定する場合に非常に優れた視覚的表現です。中央値、外れ値、四分位数を明確にプロットします。データ分布を理解することも、より適切なモデル構築につながる重要な要素です。データに外れ値がある場合、箱ひげ図を使用して外れ値を特定し、必要なアクションを実行することをお勧めします。箱ひげ図は、データがどのように分散されているかを示します。チャートには通常 5 つの情報が含まれます

  • 最小値はチャートの左端、左の「ひげ」の端に表示されます。
  • 最初の四分位である Q1 は、ボックスの左端 (左のひげ) です。
  • 中央値はボックスの中央に線として表示されます
  • 第 3 四分位、Q3、ボックスの右端に表示 (右ひげ)
  • 最大値はボックスの右端にあります

箱ひげ図の表現

四分位範囲

四分位範囲

箱ひげ図の図解

箱ひげ図の図解

Python Matplotlib 箱ひげ図

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.boxplot(df['SepalWidthCm']) # Title to the plot plt.title('Box Plot') # Adding the legends plt.legend(['SepalWidthCm']) plt.show() 

出力:

matplotlib ライブラリを使用した箱ひげ図

matplotlib ライブラリを使用した箱ひげ図

相関ヒートマップ

2-D ヒートマップは、現象の大きさを色の形で表現するのに役立つデータ視覚化ツールです。相関ヒートマップは、2 つの離散次元間の 2D 相関行列を示すヒートマップであり、色付きのセルを使用して通常は単色スケールのデータを表します。最初の次元の値はテーブルの行として表示され、2 番目の次元は列として表示されます。セルの色は、寸法値と一致する測定値の数に比例します。これにより、パターンが読みやすくなり、同じデータ内の違いや変動が強調表示されるため、相関ヒートマップはデータ分析に最適です。相関ヒートマップは、通常のヒートマップと同様に、カラーバーによってデータが読みやすく、理解しやすくなります。

注記: 相関ヒートマップを生成するには、ここでのデータを corr() メソッドで渡す必要があります。また、corr() 自体は、相関ヒートマップの生成中に役に立たない列を削除し、使用できる列を選択します。

Python Matplotlib 相関ヒートマップ

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.imshow(df.corr() , cmap = 'autumn' , interpolation = 'nearest' ) plt.title('Heat Map') plt.show() 

出力:

matplotlib ライブラリを使用したヒートマップ

matplotlib ライブラリを使用したヒートマップ

データ視覚化の詳細については、以下のチュートリアルを参照してください。

トップ記事

カテゴリ

興味深い記事