成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Pandas萬花筒:讓繪圖變得更美觀

大數據 數據可視化
流行 Python 數據分析庫 Pandas 中的繪圖功能一直是迅速繪制圖表的首選之一。但是,其可用的可視化效果總是十分粗略,實用有余、美觀不足。

本文轉載自公眾號“讀芯術”(ID:AI_Discovery)。

流行 Python 數據分析庫 Pandas 中的繪圖功能一直是迅速繪制圖表的首選之一。但是,其可用的可視化效果總是十分粗略,實用有余、美觀不足。

筆者常用 Pandas 的繪圖功能快速地執行一些可視的數據探索,但在介紹數據洞察時,我會使用“更美觀”的繪圖庫(如 Plotly 或 Bokeh )來重做可視化。

自最新的 Pandas 版本0.25.3發布后,無需這樣做了,現在我們可以使用第三方可視化庫作為 Pandas 繪圖功能的后端。Plotly是一款基于 web 實現交互式可視化的流行Python庫,其最近發布了 Pandas繪圖后端。

來看看如何使用 Plotly 和 Bokeh 后端創建更豐富的可視化效果。

[[334122]]

使用不同的后端

想要激活繪圖功能的不同后端需在導入 pandas 后,添加此行代碼:

  1. pd.options.plotting.backend = 'plotly' 

當前可用的后端有:

  • Plotly
  • Holoviews
  • Matplotlib
  • Pandas _bokeh
  • Hyplot

Plotly后端

Plotly是一個 Python庫,其支持豐富的交互式可視化效果。Plotly包的好處之一在于它是在庫的 Javascript 版本之上構建的,這意味著圖表會基于Web,可以顯示為 HTML 文件或嵌入到基于Python的Web應用程序中。用戶還可以將可視化內容下載為高質量的圖像文件,以便在文檔或論文中使用。

下面來瀏覽一些Plotly作為Pandas繪圖后端的快速示例。

如果還沒有安裝Plotly ,則需要使用pip intsall plotly來安裝。如果是在Jupyterlab中使用 Plotly ,則需要額外執行幾個安裝步驟來顯示可視化效果。首先,安裝IPywaidgets:

  1. pipenv install jupyterlab " ipywidgets>=7.5" 
  2. pip install jupyterlab "ipywidgets>=7.5" 

然后運行以下命令以安裝Plotly擴展:

  1. jupyter labextension install jupyterlab-plotly@4.8.1 

為了說明繪圖后端的用法,使用openml.org名為“wine(葡萄酒)”的數據集。

  1. import pandas as pd 
  2.       import numpy as np 
  3.              from sklearn.datasets import fetch_openml 
  4.              pd.options.plotting.backend ='plotly' 
  5.              X,y =fetch_openml("wine", version=1as_frame=Truereturn_X_y=True
  6.       data = pd.concat([X,y], axis=1
  7.       data.head() 

該數據集由各類葡萄酒的多個特征和相應的標簽組成。下圖顯示了數據集的前幾行。

繪圖功能的工作方式與標準Pandas繪圖功能的工作方式大致相同,只是現在可視化效果同Plotly一樣豐富。下面的代碼繪制了數據集中兩個特征之間的關系。

  1. fig = data[['Alcohol', 'Proline']].plot.scatter(y='Alcohol'x='Proline'
  2. fig.show() 

 

可以通過組合 Pandas 的groupby函數創建一個柱狀圖來總結類之間的平均色調差異:

  1. data[['Hue','class']].groupby(['class']).mean().plot.bar() 

將類添加到之前創建的散點圖中。使用Plotly,可以輕松地給每個類使用不同的顏色,以便直觀地區分:

  1. fig = data[['Alcohol', 'Proline']].plot.scatter(y='Alcohol'x='Proline'
  2.                                       fig.show() 

Bokeh 后端

Bokeh 也可以提供豐富交互式可視化效果。其可視化圖表可以在 Web 瀏覽器中查看,嵌入到 Web應用程序中或用于創建交互式儀表板。Bokeh 甚至有一個流式 API,可以為流數據(如金融市場數據)創建實時可視化圖表。

庫可以通過pip來安裝:

  1. pip install pandas-bokeh 

要在 Jupyterlab中顯示 Bokeh的可視化效果,需要安裝兩個新的擴展:

  1. jupyter labextension install @jupyter-widgets/jupyterlab-managerjupyterlabextension install @bokeh/jupyter_bokeh 

使用 Bokeh 后端重新創建之前的散點圖:

  1. pd.options.plotting.backend ='pandas_bokeh' 
  2.              import pandas_bokeh 
  3.                             from bokeh.io import output_notebook 
  4.                             from bokeh.plotting import figure, show 
  5.              output_notebook() 
  6.                             p1data.plot_bokeh.scatter(x='Hue'
  7.                                                           y='Proline'
  8.                                                           category='class'
  9.                                                           title='Proline and Hue by wine class'
  10.                                                           show_figure=False
  11.                             show(p1) 

可視化效果如下:

Bokeh 有一個plot_grid函數,可為多個圖表創建儀表板式布局。下面的代碼在網格布局中創建四個圖表:

  1. output_notebook() 
  2.              p1 = data.plot_bokeh.scatter(x='Hue'
  3.                                                y='Proline'
  4.                                                category='class'
  5.                                                title='Proline and Hue by wine class'
  6.                                                show_figure=False
  7.     
  8.                                    p2 = data[['Hue','class']].groupby(['class']).mean().plot.bar(title='Mean Hue per Class'
  9.              df_hue = pd.DataFrame({ 
  10.                      'class_1': data[data['class'] =='1']['Hue'], 
  11.                      'class_2': data[data['class'] =='2']['Hue'], 
  12.                      'class_3': data[data['class'] =='3']['Hue']}, 
  13.                      columns=['class_1', 'class_2', 'class_3']) 
  14.              p3 = df_hue.plot_bokeh.hist(title='Distribution perClass: Hue'
  15.              df_proline = pd.DataFrame({ 
  16.                      'class_1': data[data['class'] =='1']['Proline'], 
  17.                      'class_2': data[data['class'] =='2']['Proline'], 
  18.                      'class_3': data[data['class'] =='3']['Proline']}, 
  19.                      columns=['class_1', 'class_2', 'class_3']) 
  20.              p4 =df_proline.plot_bokeh.hist(title='Distribution per Class: Proline'
  21.              pandas_bokeh.plot_grid([[p1, p2], 
  22.                                          [p3, p4]], plot_width=450

為內置的Pandas繪圖功能添加多個第三方后端,這大大增強了該庫用于數據可視化的能力。從此之后,pandas就可以集美貌與實用于一身啦。

 

責任編輯:趙寧寧 來源: 讀芯術
相關推薦

2016-11-07 12:11:26

大數據工具大數據技術

2019-06-11 09:35:34

可視化工具圖形

2023-07-03 10:22:44

大模型向量海人工智能

2023-03-01 13:53:00

物聯網技術智能城市

2018-11-30 14:36:27

科天云協作3.0

2022-12-27 10:35:20

TensorFlow

2010-05-18 14:19:13

安全通信

2015-03-11 11:26:28

大數據更美好兩會代表

2013-12-30 13:01:15

銳捷網絡智慧

2020-03-27 12:19:47

Windows 10微軟系統

2018-01-23 10:23:12

互聯網

2021-05-27 09:36:21

數據機器學習人工智能

2019-03-18 08:06:25

物聯網IOT物聯網技術

2023-08-24 11:09:04

2011-05-26 10:13:03

編程字體

2021-07-23 20:00:40

微軟Windows 11Windows

2015-10-28 14:03:32

數據遷移數據

2020-02-17 16:16:01

全時

2010-09-01 20:30:14

虛擬園區網網絡架構H3C

2021-09-08 12:42:32

微軟Windows 11Windows
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人久久18免费网站麻豆 | 亚洲一二三区精品 | 亚洲成人av | aa级毛片毛片免费观看久 | 国产.com| 久久久www成人免费精品张筱雨 | 国产视频一区二区在线观看 | 欧洲免费视频 | 一区在线视频 | 国产乱码精品一区二区三区中文 | 成年人在线观看 | 九九热精品在线视频 | 久久久久久久久中文字幕 | 香蕉久久久久久 | 国产成人自拍一区 | 国产99精品 | 人人草人人干 | 国产精品久久久久久婷婷天堂 | 国产一区影院 | 久久免费精品视频 | 精品日韩在线 | 人人人干 | 国产馆 | 99久久精品免费看国产免费软件 | 国产综合在线视频 | 99国内精品久久久久久久 | 国产伦一区二区三区久久 | 国产精品美女久久久久久久久久久 | 日韩中文电影 | 欧美极品一区二区 | 国产成人综合久久 | www.精品一区 | 天天干天天操天天射 | 在线一区 | 精品国产一区二区三区久久狼黑人 | 91高清在线 | 亚洲成人日韩 | 国产精品美女久久久久 | 波多野结衣一二三区 | 成人欧美一区二区三区视频xxx | 久久久久久久久综合 |