python數據分析常用圖大集合

2021-01-12 做一個編程俗人

以下默認所有的操作都先導入了numpy、pandas、matplotlib、seaborn

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns

一、折線圖

折線圖可以用來表示數據隨著時間變化的趨勢

x = [2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019]y = [5, 3, 6, 20, 17, 16, 19, 30, 32, 35]

Matplotlib

plt.plot(x, y)plt.show()

Seaborn

df = pd.DataFrame({'x': x, 'y': y})sns.lineplot(x="x", y="y", data=df)plt.show()

二、直方圖

直方圖是比較常見的視圖,它是把橫坐標等分成了一定數量的小區間,然後在每個小區間內用矩形條(bars)展示該區間的數值

a = np.random.randn(100)s = pd.Series(a)

Matplotlib

plt.hist(s)plt.show()

Seaborn

sns.distplot(s, kde=False)plt.show()sns.distplot(s, kde=True)plt.show()

三、垂直條形圖

條形圖可以幫我們查看類別的特徵。在條形圖中,長條形的長度表示類別的頻數,寬度表示類別。

x = ['Cat1', 'Cat2', 'Cat3', 'Cat4', 'Cat5']y = [5, 4, 8, 12, 7]

Matplotlib

plt.bar(x, y)plt.show()

Seaborn

plt.show()

四、水平條形圖

x = ['Cat1', 'Cat2', 'Cat3', 'Cat4', 'Cat5']y = [5, 4, 8, 12, 7]plt.barh(x, y)plt.show()

五、餅圖

nums = [25, 37, 33, 37, 6]labels = ['High-school','Bachelor','Master','Ph.d', 'Others']plt.pie(x = nums, labels=labels)plt.show()

六、箱線圖

箱線圖由五個數值點組成:最大值 (max)、最小值 (min)、中位數 (median) 和上下四分位數 (Q3, Q1)。

可以幫我們分析出數據的差異性、離散程度和異常值等。

Matplotlib

# 生成0-1之間的10*4維度數據data=np.random.normal(size=(10,4)) lables = ['A','B','C','D']# 用Matplotlib畫箱線圖plt.boxplot(data,labels=lables)plt.show()

Seaborn

# 用Seaborn畫箱線圖df = pd.DataFrame(data, columns=lables)sns.boxplot(data=df)plt.show()

七、熱力圖

力圖,英文叫 heat map,是一種矩陣表示方法,其中矩陣中的元素值用顏色來代表,不同的顏色代表不同大小的值。通過顏色就能直觀地知道某個位置上數值的大小。

flights = sns.load_dataset("flights")data=flights.pivot('year','month','passengers')sns.heatmap(data)plt.show()

通過 seaborn 的 heatmap 函數,我們可以觀察到不同年份,不同月份的乘客數量變化情況,其中顏色越淺的代表乘客數量越多

八、散點圖

散點圖的英文叫做 scatter plot,它將兩個變量的值顯示在二維坐標中,非常適合展示兩個變量之間的關係。

N = 1000x = np.random.randn(N)y = np.random.randn(N)

Matplotlib

plt.scatter(x, y,marker='x')plt.show()

Seaborn

df = pd.DataFrame({'x': x, 'y': y})sns.jointplot(x="x", y="y", data=df, kind='scatter');plt.show()

九、蜘蛛圖

蜘蛛圖是一種顯示一對多關係的方法,使一個變量相對於另一個變量的顯著性是清晰可見

labels=np.array([u"推進","KDA",u"生存",u"團戰",u"發育",u"輸出"])stats=[83, 61, 95, 67, 76, 88]# 畫圖數據準備,角度、狀態值angles=np.linspace(0, 2*np.pi, len(labels), endpoint=False)stats=np.concatenate((stats,[stats[0]]))angles=np.concatenate((angles,[angles[0]]))# 用Matplotlib畫蜘蛛圖fig = plt.figure()ax = fig.add_subplot(111, polar=True) ax.plot(angles, stats, 'o-', linewidth=2)ax.fill(angles, stats, alpha=0.25)# 設置中文字體font = FontProperties(fname=r"/System/Library/Fonts/PingFang.ttc", size=14) ax.set_thetagrids(angles * 180/np.pi, labels, FontProperties=font)plt.show()

十、二元變量分布

二元變量分布可以看兩個變量之間的關係

tips = sns.load_dataset("tips")tips.head(10)#散點圖sns.jointplot(x="total_bill", y="tip", data=tips, kind='scatter')#核密度圖sns.jointplot(x="total_bill", y="tip", data=tips, kind='kde')#Hexbin圖sns.jointplot(x="total_bill", y="tip", data=tips, kind='hex')plt.show()

十一、面積圖

面積圖又稱區域圖,強調數量隨時間而變化的程度,也可用於引起人們對總值趨勢的注意。

堆積面積圖還可以顯示部分與整體的關係。折線圖和面積圖都可以用來幫助我們對趨勢進行分析,當數據集有合計關係或者你想要展示局部與整體關係的時候,使用面積圖為更好的選擇。

df = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])# 堆面積圖df.plot.area()# 面積圖df.plot.area(stacked=False)

十二、六邊形圖

六邊形圖將空間中的點聚合成六邊形,然後根據六邊形內部的值為這些六邊形上色。

df = pd.DataFrame(np.random.randn(1000, 2), columns=['a', 'b'])df['b'] = df['b'] + np.arange(1000)# 關鍵字參數gridsize;它控制x方向上的六邊形數量,默認為100,較大的gridsize意味著更多,更小的bindf.plot.hexbin(x='a', y='b', gridsize=25)

相關焦點

  • 詳解Python集合數據類型
    本篇介紹Python集合數據類型。集合不同於列表和元組類型,集合存儲的元素是無序且不能重複的,同數學中的集合一樣,集合可以執行集合的並、交、差運算。通過本篇的學習,可以達成如下目標。● 掌握集合數據類型● 在程序中使用集合數據類型在數學概念中,集合是由一個或多個確定的元素構成的整體。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    python教程大合集,包含python所有就業方向,每套課程均來自市面上主流培訓機構的原版教程,價值都在數百元以上 每套課程均包含:視頻課程+課件+原始碼 重要:建議根據自己工作方向和需求,重點選擇2到3套課程學精,吃透,然後在工作 重要:零基礎小白建議先選擇零基礎全能篇的一套課程學精,然後再根據自 己的需求和規劃選擇學習其他方向課程,學完後一定要多實踐
  • 一文總結數據科學家常用的Python庫(下)
    這是一篇關於音頻處理及其工作原理的深入文章:使用深度學習開始使用音頻數據分析(帶案例研究)(https://www.analyticsvidhya.com/blog/2017/08/audio-voice-processing-deep-learning/)/* Madmom */這個名字可能聽起來很有趣,但Madmom是一個非常漂亮的音頻數據分析Python
  • Python基礎學習之常用六大數據類型
    剛開始學習一門程式語言,除了了解運行環境與語言類型之外,最基本還是從該語言的基本數據類型開始學起。Python六大常用數據類型: int 整數 float 浮點數 str 字符串 list 列表 tuple 元組 dict 字典講解這些先說一下python中的變量與變量名。
  • 這幾個常用的python庫你需要知道
    python可以說是近幾年最火熱、最實用的、最容易上手的工具之一了。功能強大、應用廣泛,可以幫你搜集工作數據,還能幫你下載音樂,電影,於是就掀起了一波學習python的大潮,小編也毫不猶豫的加入了。但是對於向小編一樣的小白來說,剛開始學習還是有些困難的,需要首先了解python的一些基礎知識。所以小編就整理了一些常用的python庫,希望對正在學習python的小夥伴有所幫助。1.MatplotlibMatplotlib是一個用於創建二維圖和圖形的底層庫。
  • python數據類型總結——列表
    多個元素的集合也是一種常見的表達方式。python用列表或元組來幫助我們。python列表一系列元素組成一個集合,可能通過索引,對每個元素進行訪問。這種數據類型統稱為序列。在python中,字符串就是一種序列。列表,也是序列的一種。可以用中括號來聲明列表。
  • Python數據分析:pandas讀取和寫入數據
    我的公眾號是關於自己在數據分析/挖掘學習過程中的一些技術和總結分享,文章會持續更新......繼續深入學習pandas相關操作,數據讀取寫入、分組、合併,轉換等等。前面一篇文章裡已經寫了關於描述性統計以及常用的基本操作。接下來的一段時間裡,我將陸續地去掌握並輸出。這篇文章是關於數據讀取與寫入的知識點。
  • Python之list列表數據類型講解
    前言在python中,list列表數據類型其實就是一個容器,可以放置大量元素的集合。同時,list列表也有很多特點和使用場景,本文主要講解list列表的函數方法。概念list列表是一個集合,一個容器,同Java語言中的數組是一樣的,唯一的不同之處在於,Java中的數組類型只能放置同一種數據類型,而Python中的列表可以放置不同的數據類型。
  • 為什麼數據分析要學習Python?
    潛力巨大的數據分析崗位在資訊時代的今天,數據推動業務發展、數據輔助業務決策早已成為大勢所向,而順應大數據時代號召的人,薪資待遇自然也是讓人羨慕不已——數據分析師確實是高薪職業,大部分公司提供的待遇基本上是10K往上走;且隨著工作經驗的累積和技能樹的完善,薪資超過
  • Python數據類型之集合set
    # 集合:用來存儲一個無序的不重複的元素序列# 集合的標識也是大括號{},中間的元素使用逗號","隔開# 集合的創建方式:# set(序列)# s = {"123","qwe"}# 創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典# s = {},這種是創建空的字典# 集合的兩大功能:# 集合可以實現去重的功能
  • Python數據分析常用高階函數大全
    作者 | CDA數據分析師 來源 | CDA數據科學研究院mapmap(function,iterable,...)而且不會改變原有的可迭代對象的結構,而是生成一個新的數據。推導式是可以從一個數據序列構建另一個新的數據序列的結構體。
  • 38個常用Python庫:數值計算、可視化、機器學習等8大領域都有了
    作者 | 李明江 張良均 周東平 張尚佳 來源 | 大數據DT Python作為一個設計優秀的程序語言,現在已廣泛應用於各種領域,依靠其強大的第三方類庫,Python在各個領域都能發揮巨大的作用。通常與SciPy和Matplotlib一起使用,支持比Python更多種類的數值類型,其中定義的最重要的對象是稱為ndarray的n維數組類型,用於描述相同類型的元素集合,可以使用基於0的索引訪問集合中元素。2.
  • 常用數據分析方法:方差分析及實現!
    方差分析是一種常用的數據分析方法,其目的是通過數據分析找出對該事物有顯著影響的因素、各因素之間的交互作用及顯著影響因素的最佳水平等。本文介紹了方差分析的基礎概念,詳細講解了單因素方差分析、雙因素方差分析的原理,並且給出了它們的python實踐代碼。
  • 用Python拼接字符串的常用方法及性能分析
    比如使用常用的時間模塊time對時間進行格式化輸出。在控制臺輸出一串字符串時經常使用這個函數。它是一種替代「%」進行控制字符串輸出的最佳方案。使用「+」操作符連接不同類型的數據結構時,拋出異常;但是format()函數不會,它能實現不同類型的數據結構之間的(字符串和其它類型數據結構)拼接,這點尤其重要,也很常用。
  • 數據科學的Python軟體包
    當前,我們正處於大數據時代,每秒生成大量數據。大企業正在利用這些數據來促進市場增長。使用數據科學和其他技術,我們從數據中提取信息性細節,以解決複雜的現實世界問題並建立預測模型。數據科學不是工具或技術。通過掌握市場上現有的一些工具和庫,可以培養和滋養這項技能。為什麼要將Python用於數據科學?
  • 【大數據】最新大數據學習路線(完整詳細版】
    非常適合用來做大數據的實時查詢。Facebook用Hbase存儲消息數據並進行消息實時的分析ZooKeeper:針對大型分布式的可靠性協調系統。Hadoop的分布式同步等靠Zookeeper實現,例如多個NameNode,active standby切換。Sqoop:資料庫相互轉移,關係型資料庫和HDFS相互轉移Mahout:可擴展的機器學習和數據挖掘庫。
  • 大數據分析Python NumPy庫使用教程
    我將在大數據分析Python NumPy庫使用教程中學到什麼? 大數據分析Python NumPy庫使用教程為數據工程師提供有關NumPy的從零開始的培訓。這意味著您不需要具有NumPy的任何經驗,也不會浪費任何時間學習與數據工程工作無關的東西。
  • Python開發簡單爬蟲【學習資料總結】
    python語言高級:(python語言的高級庫,常用的企業級開發案例實戰) (1)Python常見第三方庫與網絡編程 (2)面向對象,Python正則表達式 (3)求職數據爬蟲,金融數據爬蟲,多線程爬蟲 (4)Python
  • 五種常用大數據分析方法
    這些關係可能會導致對數據所代表的總體得出某些推論或結論。結論可能會導致數學模型預測當前不在數據集中的數據結果。但是,在導致決策或行動步驟之前,數據分析無效。  在一番掙扎之後,中琛魔方給大家總結了網際網路運營的五大數據分析方法,希望幫助大家在數據分析中越來越遊刃有餘~加油!
  • 常用的十大 python 圖像處理工具
    圖片來自 Pexels 的Luriko Yamaguchi今天,在我們的世界裡充滿了數據,圖像成為構成這些數據的重要組成部分。Notebook展示了用Python和R程式語言使用SimpleITK來進行交互式圖像分析。