5個可以幫助pandas進行數據預處理的可視化圖表

2021-01-07 騰訊網

「一目了然勝過千言萬語。」分析數據點的探索性數據分析(EDA)是在算法的數據建模之前制定假設的正確步驟。

數據科學行業中一個最常見的陷阱是花費數小時為他們的項目尋找最佳算法,而沒有花足夠的時間首先理解數據。

數據科學和機器學習項目的結構化方法從項目目標開始。同一組數據點可以推斷出一些有意義的信息。基於我們所尋找的,我們需要關注數據的另一個方面。一旦我們明確了目標,我們就應該開始考慮我們需要的數據點。這將使我們能夠專注於最相關的信息集,而忽略可能不重要的數據集。

在現實生活中,從多個來源收集到的大多數時間數據都有空白值、打字錯誤和其他異常。在進行任何數據分析之前,清除數據是至關重要的。

在本文中,我將討論五個強大的數據可視化選項,它們可以立即提供數據特徵的感覺。即使在正式建模或假設測試任務之前,執行EDA就可以傳達大量關於數據和特徵之間關係的信息。

第1步-我們將導入pandas、matplotlib、seaborn和NumPy包,我們將使用這些包進行分析。我們需要散點圖、自相關圖、滯後圖和平行圖。

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

from pandas.plotting import autocorrelation_plot

import seaborn as sns

from pandas.plotting import scatter_matrix

from pandas.plotting import autocorrelation_plot

from pandas.plotting import parallel_coordinates

from pandas.plotting import lag_plot

第2步-在Seaborn包中,有一個內置的小數據集。我們將使用「mpg」、「tips」和「attention」數據進行可視化。數據集是在seaborn中使用load_dataset方法加載的。

"""Download the datasets used in the program """

CarDatabase= sns.load_dataset("mpg")

MealDatabase= sns.load_dataset("tips")

AttentionDatabase= sns.load_dataset("attention")

六邊形分箱圖(hexpin)

我們經常使用散點圖來快速掌握變量之間的關係。只要圖中沒有人口稠密的數據點,獲得一個洞察力是非常有幫助的。在下面的代碼中,我們繪製了「mpg」數據集中「Horsepower」 和「Acceleration」數據點之間的散點圖。

plt.scatter(CarDatabase.acceleration ,CarDatabase.horsepower,marker="^")

plt.show()

散點圖中的點密集分布,從中獲取有意義的信息有點困難。

hexpins是解決重疊點散點圖的一個很好的替代方案。每個點不是在hexbin圖中單獨繪製的。在下面的代碼中,我們用相同的數據集在「Horsepower」 和「Acceleration」之間繪製一個hexbin。

在hexpin圖中可以清楚地推斷「Horsepower」 和「Acceleration」範圍集中值,變量之間呈負線性關係。六邊形的大小取決於「網格大小」參數。

熱力圖(Heatmaps)

熱力是我個人最喜歡查看不同變量之間的相關性。那些在媒體上跟蹤我的人可能已經注意到我經常使用它。在下面的代碼中,我們將計算seaborn「mpg」數據集中所有變量之間的成對相關性,並將其繪製為熱力圖。

熱力圖是我個人最喜歡查看不同變量之間的相關性。那些在媒體上跟蹤我的人可能已經注意到我經常使用它。在下面的代碼中,我們將計算seaborn「mpg」數據集中所有變量之間的成對相關性,並將其繪製為熱力圖。

sns.heatmap(CarDatabase.corr(), annot=True, cmap="YlGnBu")

plt.show()

我們可以看到「cylinders」 和 「horsepower」 是密切正相關的(正如在汽車中所預期的),而重量與加速度成反比。我們只需幾行代碼就可以快速理解所有不同變量之間的指示性關係。

自相關圖(Autocorrelation)

自相關圖是一個快速的試金石測試,以確定數據點是否隨機。如果數據點遵循某種趨勢,那麼一個或多個自相關將顯著非零。圖中的虛線顯示99%的置信區間。在下面的代碼中,我們正在檢查「tips」資料庫中的總帳單金額是否是隨機的。

autocorrelation_plot(MealDatabase.total_bill)

plt.show()

我們可以看到,自相關圖在所有時間滯後中都非常接近於零,這表明總的_bill數據點是隨機的。

當我們按照特定順序繪製數據點的自相關圖時,我們可以看到該圖顯著地非零。

data = pd.Series(np.arange(12,7000,16.3))

autocorrelation_plot(data)

plt.show()

滯後圖(Lag)

滯後圖也有助於驗證數據集是隨機值集還是遵循某種趨勢。當繪製「tips」數據集的「total_bills」值的滯後圖時,就像在自相關圖中一樣,滯後圖表明它是隨機數據,到處都有值。

lag_plot(MealDatabase.total_bill)

plt.show()

當我們延遲繪製一個非隨機數據序列時,如下面的代碼所示,我們得到了一條平滑的線條。

data = pd.Series(np.arange(-12*np.pi,300*np.pi,10))

lag_plot(data)

plt.show()

平行坐標圖(Parallel coordinates)

把我們的大腦包圍起來並將其可視化不僅僅是三維數據,這一直是一個挑戰。繪製高維數據集的平行坐標非常有用。每個尺寸用一條垂直線表示。

在平行坐標系中,「N」等距垂直線表示數據集的「N」維度。頂點在第n個軸上的位置對應於該點的第n個坐標。

讓我們考慮一個小樣本數據,它有五個小部件和大尺寸小部件的五個特性。

垂直線表示小部件的每個功能。一系列連續的線段代表「小」和「大」小部件的特徵值。

下面的代碼繪製了seaborn中「attention」數據集的平行坐標。請注意,群集的點看起來更靠近。

parallel_coordinates(AttentionDatabase,"attention",color=('#556270', '#C7F464'))

plt.show()

我希望你能開始使用這些現成的繪圖來執行探索性的數據分析

作者:Kaushik Choudhury

deephub翻譯組

DeepHub

相關焦點

  • 如何用pandas更快地進行數據可視化?
    作者:劉早起來源:早起Python(公眾號)如果你經常使用Python進行數據分析,那麼對於pandas一定不會陌生,但是Pandas除了在數據處理上大放異彩,隨著版本的不斷更新,Pandas的繪圖功能在某些情況下甚至要比matplotlib更加適用,本文就將介紹如何用Pandas更快的進行數據可視化!
  • 用pandas進行簡單的數據預處理
    首先看這樣的數據。這是kaggle上的關於員工離職的數據,現在要根據滿意度,工作項目, 薪水等指標判斷一個員工是否會離職。在進行機器學習之前,我們首先要進行數據的清理及預處理。2、簡單的可視化pandas提供了一個簡單的函數讓我們可以非常簡單的查看各個column的分布直方圖,當然僅限於該column的值的數字的時候,如果是離散值就沒有用這個辦法可視化了。值得注意的是該函數依賴於matplotlib, 須先導入該包。
  • Pandas可視化綜合指南:手把手從零教你繪製數據圖表
    曉查 編譯整理量子位 出品 | 公眾號 QbitAI數據可視化本來是一個非常複雜的過程,但隨著Pandas數據幀plot()函數的出現,使得創建可視化圖形變得很容易。在數據幀上進行操作的plot()函數只是matplotlib中plt.plot()函數的一個簡單包裝 ,可以幫助你在繪圖過程中省去那些長長的matplotlib代碼。
  • 不會做圖表?10個Python數據可視化庫來幫你!
    大家好,我是小五~ 今天我們會介紹一下10個適用於多個學科的Python數據可視化庫,其中有名氣很大的也有鮮為人知的。 雖然用 matplotlib 可以很方便的得到數據的大致信息,但是如果要更快捷簡單地製作可供發表的圖表就不那麼容易了。 就像Chris Moffitt 在「Python可視化工具簡介」中提到的一樣:「功能非常強大,也非常複雜。」
  • 50 個數據可視化圖表
    這些圖表列表允許您使用 python 的 matplotlib 和 seaborn 庫選擇要顯示的可視化對象。這些圖表根據可視化目標的 7 個不同情景進行分組。例如,如果要想像兩個變量之間的關係,請查看「關聯」部分下的圖表。或者,如果您想要顯示值如何隨時間變化,請查看「變化」部分,依此類推。
  • pandas數據可視化教學,一招即懂
    數據可視化可以讓我們很直觀的發現數據中隱藏的規律,察覺到變量之間的互動關係,可以幫助我們更好的給他人解釋現象,做到一圖勝千文的說明效果。
  • 最受歡迎的 50 個數據可視化圖表
    這些圖表列表允許您使用 python 的 matplotlib 和 seaborn 庫選擇要顯示的可視化對象。這些圖表根據可視化目標的 7 個不同情景進行分組。例如,如果要想像兩個變量之間的關係,請查看「關聯」部分下的圖表。或者,如果您想要顯示值如何隨時間變化,請查看「變化」部分,依此類推。
  • 為選擇數據可視化圖表而發愁?學會這14個可視化圖表即可
    5個問題1.您想比較值嗎?2.條形圖當一個數據標籤較長或要比較的項目超過10個時,應使用條形圖(基本上是水平的柱形圖)來避免混亂。這種類型的可視化也可以用於顯示負數。4.雙軸圖雙軸圖表允許您使用兩個y軸和一個共享的x軸來繪製數據。它與三個數據集一起使用,其中一個基於連續數據集,另一個更適合按類別分組。這應該用於可視化這三個數據集之間的相關性或缺乏相關性。
  • Pandas數據可視化原來也這麼厲害
    >一、可視化概述在Python中,常見的數據可視化庫有3個:matplotlib:最常用的庫,可以算作可視化的必備技能庫,比較底層,api多,學起來不太容易。seaborn:是建構於matplotlib基礎上,能滿足絕大多數可視化需求,更特殊的需求還是需要學習matplotlib。pyecharts:上面的兩個庫都是靜態的可視化庫,而pyecharts有很好的web兼容性,可以做到可視化的動態效果。
  • 想用Python做數據可視化?先邁過這個「坎」
    這就是今天分享這篇文章的初衷,通過列舉一些使用頻率較高的工具,以及使用它們創建簡單的條形圖的方法,幫助各位進行簡單的梳理。 以下就是將要用來創建繪製數據的示例: ·Pandas ·Seaborn ·Ggplot 在示例中,我將使用pandas進行數據處理並使用它來完成可視化的效果。
  • 6 個設計準則讓圖表煥然一新,數據可視化並不難!
    ,從健身應用的每日匯總界面,到購物應用的每月開銷分析,美觀、整潔且易於閱讀和交互的數據可視化設計能讓用戶對大量的數據一目了然,從而幫助他們收穫更輕鬆、更自信、更美好的生活。2017 年 8 月,一群熱情的 Google 設計師、研究人員和工程師聚集在一起,創建了一套全面的數據可視化指南,它涵蓋了顏色、形狀、排版、圖像、交互和動效等所有內容。這次成功的合作促成了 Google 首個專門的數據可視化團隊誕生 (2018 年 5 月成立)。在過去的一年中,我們一直致力於了解人們對信息的可視化和互動方式的需求和願景。
  • 數據可視化必修課 - 圖表篇
    ,而圖表是數據可視化中最常用的一種表現形式。無論是工作匯報還是後臺設計,都離不開圖表的使用。然而關於圖表類相關的資料太零碎了,不成體系,對於初學者非常不友好,本篇文章我從圖表的祖輩開始,把它都給挖了出來,希望對你有幫助。
  • Python的數據可視化:對比7種工具包
    在這篇文章中,我們將運用真實世界的數據,然後使用這些庫進行數據的可視化。當我們這樣做的時候,我們將發現,每個庫最適合用在哪裡,以及如何利用Python數據可視化系統最有效。探索數據集  在我們進行數據可視化之前,讓我們快速查看一下我們將要用到的數據集。我們將用到的據來自openflights。我們將用到 route,airport,和airline這三個數據。
  • 數據可視化圖表工具有哪些圖表類型?
    本文梳理了可視化的相關內容,分享給大家。 一、你的數據適合哪種可視化圖表 數據可視化有很多既定的圖表類型,下面我們分別來談談這些圖表類型,他們的適用場景,以及使用的優勢和劣勢。
  • 50個最有價值的數據可視化圖表
    本文總結了在數據分析和可視化中最有用的 50 個 Matplotlib 圖表。
  • 數據可視化的5個步驟
    但無論一個可視化項目有多複雜,可視化的目的是幫助讀者識別所分析的數據中的一種模式或趨勢,而不是僅僅給他們提供冗長的描述,諸如:「 2000 年 A 的利潤比 B 高出 2.9 % ,儘管 2001 年 A 的利潤增長了 25 % ,但 2001 年利潤比 B 低 3.5 % 」。出色的可視化項目應該總結信息,並把信息組織起來,讓讀者的注意力集中於關鍵點。
  • 用數據可視化工具Seaborn繪製圖表
    Seaborn可以很好地處理數據幀,而Matplotlib則不行,它可以讓你以更簡單的方式繪製引人注目的圖表。為了更好地理解本文,你需要了解pandas和matplotlib的基礎知識。如果沒有,可以參考以下文章:用Pandas進行數據分析:https://towardsdatascience.com/pandas-for-data-analysis-142be71f63dc使用Matplotlib進行可視化:https://towardsdatascience.com/visualizations-with-matplotlib-4809394ea223
  • B端互動設計——數據可視化圖表
    因此掌握數據可視化能力是設計師必不可少的一個技能,然而目前國內網際網路對於數據的教學不夠全面,這讓很多B端的設計師很苦惱;所以今天我結合自己的工作經驗和大家分享一下——「數據可視化之圖表設計」,為大家梳理一套完整的數據可視化的框架,以及關於可視化設計的基本準則和規範。  幫助大家理解什麼樣的數據對應什麼樣的圖標,了解顏色的意義,知道數據排版的要點。
  • Python 與金融數據|股票數據的獲取與可視化
    ,並將數據以圖表的形式展示出來。它也可以和圖形工具包一起使用,如 PyQt 和 wxPython。pandaspandas 是基於NumPy 的一種工具,該工具是為了解決數據分析任務而創建的。Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。pandas提供了大量能使我們快速便捷地處理數據的函數和方法。
  • H5教程|如何零基礎在H5中實現數據圖表可視化效果
    數據可視化主要旨在藉助於圖形化手段,清晰有效地傳達與溝通信息。今天,我們使用的H5工具是Epub360,下面我們來介紹實現數據圖表可視化效果的方法,零基礎的你們準備好了嗎?首先,我們先來介紹一下數據圖表組件。