日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

再见,可视化!你好,Pandas!

發布時間:2023/12/18 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 再见,可视化!你好,Pandas! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源:Python數據科學

作者:東哥起飛

用Python做數據分析離不開pandas,pnadas更多的承載著處理和變換數據的角色,pands中也內置了可視化的操作,但效果很糙。

因此,大家在用Python做數據分析時,正常的做法是用先pandas先進行數據處理,然后再用Matplotlib、Seaborn、Plotly、Bokeh等對dataframe或者series進行可視化操作。

但是說實話,每個可視化包都有自己獨特的方法和函數,經常忘,這是讓我一直很頭疼的地方。

好消息來了!從最新的pandas版本0.25.3開始,不再需要上面的操作了,數據處理和可視化完全可以用pandas一個就全部搞定。

pandas現在可以使用Plotly、Bokeh作為可視化的backend,直接實現交互性操作,無需再單獨使用可視化包了。

下面我們一起看看如何使用。

1.?激活backend

在import了pandas之后,直接使用下面這段代碼激活backend,比如下面要激活plotly。

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

目前,pandas的backend支持以下幾個可視化包。

  • Plotly

  • Holoviews

  • Matplotlib

  • Pandas_bokeh

  • Hyplot

2.?Plotly backend

Plotly的好處是,它基于Javascript版本的庫寫出來的,因此生成的Web可視化圖表,可以顯示為HTML文件或嵌入基于Python的Web應用程序中。

下面看下如何用plotly作為pandas的backend進行可視化。

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

首先,安裝IPywidgets。

pip?install?jupyterlab?"ipywidgets>=7.5"

然后運行此命令以安裝Plotly擴展。

jupyter?labextension?install?jupyterlab-plotly@4.8.1

示例選自openml.org的的數據集,鏈接如下:

數據鏈接:https://www.openml.org/d/187

這個數據也是Scikit-learn中的樣本數據,所以也可以使用以下代碼將其直接導入。

import?pandas?as?pd import?numpy?as?npfrom?sklearn.datasets?import?fetch_openmlpd.options.plotting.backend?=?'plotly'X,y?=?fetch_openml("wine",?version=1,?as_frame=True,?return_X_y=True) data?=?pd.concat([X,y],?axis=1) data.head()

該數據集是葡萄酒相關的,包含葡萄酒類型的許多功能和相應的標簽。數據集的前幾行如下所示。

下面使用Plotly backend探索一下數據集。

繪圖方式與正常使用Pandas內置的繪圖操作幾乎相同,只是現在以豐富的Plotly顯示可視化效果。

下面的代碼繪制了數據集中兩個要素之間的關系。

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

如果將鼠標懸停在圖表上,可以選擇將圖表下載為高質量的圖像文件。

我們可以結合Pandas的groupby函數創建一個條形圖,總結各類之間Hue的均值差異。

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

將class添加到我們剛才創建的散點圖中。通過Plotly可以輕松地為每個類應用不同的顏色,以便直觀地看到分類。

fig?=?data[['Hue',?'Proline',?'class']].plot.scatter(x='Hue',?y='Proline',?color='class',?title='Proline?and?Hue?by?wine?class') fig.show()

3.?Bokeh?backend

Bokeh是另一個Python可視化包,也可提供豐富的交互式可視化效果。Bokeh還具有streaming API,可以為比如金融市場等流數據創建實時可視化。

pandas-Bokeh的GitHub鏈接如下:

https://github.com/PatrikHlobil/Pandas-Bokeh

老樣子,用pip安裝即可,pip install pandas-bokeh。

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

jupyter?labextension?install?@jupyter-widgets/jupyterlab-manager jupyter?labextension?install?@bokeh/jupyter_bokeh

下面我們使用Bokeh backend重新創建剛剛plotly實現的的散點圖。

pd.options.plotting.backend?=?'pandas_bokeh'import?pandas_bokeh from?bokeh.io?import?output_notebook from?bokeh.plotting?import?figure,?showoutput_notebook() p1?=?data.plot_bokeh.scatter(x='Hue',?y='Proline',?category='class',?title='Proline?and?Hue?by?wine?class',show_figure=False) show(p1)

關鍵語句就一行代碼,非常快捷,交互式效果如下。

Bokeh還具有plot_grid函數,可以為多個圖表創建類似于儀表板的布局,下面在網格布局中創建了四個圖表。

output_notebook()p1?=?data.plot_bokeh.scatter(x='Hue',?y='Proline',?category='class',?title='Proline?and?Hue?by?wine?class',show_figure=False)p2?=?data[['Hue','class']].groupby(['class']).mean().plot.bar(title='Mean?Hue?per?Class')df_hue?=?pd.DataFrame({'class_1':?data[data['class']?==?'1']['Hue'],'class_2':?data[data['class']?==?'2']['Hue'],'class_3':?data[data['class']?==?'3']['Hue']},columns=['class_1',?'class_2',?'class_3'])p3?=?df_hue.plot_bokeh.hist(title='Distribution?per?Class:?Hue')df_proline?=?pd.DataFrame({'class_1':?data[data['class']?==?'1']['Proline'],'class_2':?data[data['class']?==?'2']['Proline'],'class_3':?data[data['class']?==?'3']['Proline']},columns=['class_1',?'class_2',?'class_3'])p4?=?df_proline.plot_bokeh.hist(title='Distribution?per?Class:?Proline')pandas_bokeh.plot_grid([[p1,?p2],?[p3,?p4]],?plot_width=450)

可以看到,可視化的部分都是在pandas的dataframe基礎上一行代碼搞定,最后plot_grid完成布局。

4.?總結

在內置的Pandas繪圖功能增加多個第三方可視化backend,大大增強了pandas用于數據可視化的功能,今后可能真的不需再去學習眾多可視化操作了,使用pandas也可以一擊入魂!

參考鏈接:https://towardsdatascience.com/plotting-in-pandas-just-got-prettier-289d0e0fe5c0

文末贈書福利 贈送書籍《Python數據分析與大數據處理》5本,由「北京大學出版社」贊助提供,如果等不及也可以入手一本學習。介紹:主要講解數據分析與大數據處理所需的技術、基礎設施、核心概念、實施流程。從編程語言準備、數據采集與清洗、數據分析與可視化,到大型數據的分布式存儲與分布式計算,貫穿了整個大數據項目開發流程。本書輕理論、重實踐,目的是讓讀者快速上手。 參與方式:本篇文章底部「在看」+「留言」,文章內容相關的優質留言才可上墻!留言點贊數量最多前5位讀者將獲得這本書,截止時間「9月15日20:00」,最終獲贈者通過留言聯系我。 推薦閱讀 數據科學實戰:K-Means 廣告效果聚類分析 用了這個jupyter插件,我已經半個月沒打開過excel了 安利 5 個拍案叫絕的 Matplotlib 騷操作!雙系統的日子結束了:Windows 和 Linux 將合二為一 答應我,用了這個jupyter插件,別再重復造輪子了愛了!安利一個相見恨晚的可視化學習網站

總結

以上是生活随笔為你收集整理的再见,可视化!你好,Pandas!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。