【轉】Python數據分析及可視化
Python數據分析及可視化實例目錄
1.超硬核的 Python 數據可視化教程
2. 40個Python可視化圖表案例
3. 一篇 Python 數據可視化 "保姆級" 攻略
4. 21款酷炫的數據可視化工具
5. 數據分析常用的知識點大全
6. (Tableau)做圖似文章般行雲流水
8個流行的 Python可視化工具包:
Matplotlib、Seaborn 和 Pandas
把這三個包放在一起有幾個原因:首先 Seaborn 和 Pandas 是建立在 Matplotlib 之上的,當你在用 Seaborn 或 Pandas 中的 df.plot() 時,用的其實是別人用 Matplotlib 寫的代碼。因此,這些圖在美化方面是相似的,自定義圖時用的語法也都非常相似。
Matplotlib 是比較低級的庫,但它所支持的自定義程度令人難以置信(所以不要簡單地將其排除在演示所用的包之外!),但還有其它更適合做展示的工具。
Matplotlib 還可以選擇樣式(style selection),它模擬了像 ggplot2 和 xkcd 等很流行的美化工具。
Matplotlib 及其相關工具的效率很高,但就演示而言它們並不是最好的工具。
ggplot(2)
「Aaron,ggplot 是 R 中最常用的可視化包,但你不是要寫 Python 的包嗎?」。人們已經在 Python 中實現了 ggplot2,復制了這個包從美化到語法的一切內容。
Pandas Python 包最近棄用了一些方法,導致 Python 版本不兼容。
如果你一定要在 Python 中用 ggplot,那你就必須要安裝 0.19.2 版的 Pandas,但我建議你最好不要為了使用較低級的繪圖包而降低 Pandas 的版本。
ggplot2(也包括 Python 的 ggplot)舉足輕重的原因是它們用「圖形語法」來構建圖片。基本前提是你可以實例化圖,然后分別添加不同的特征;也就是說,你可以分別對標題、坐標軸、數據點以及趨勢線等進行美化。
Bokeh
Bokeh 很美。從概念上講,Bokeh 類似於 ggplot,它們都是用圖形語法來構建圖片,但 Bokeh 具備可以做出專業圖形和商業報表且便於使用的界面。
Bokeh 提供的所有便利都要在 matplotlib 中自定義,包括 x 軸標簽的角度、背景線、y 軸刻度以及字體(大小、斜體、粗體)等。下圖展示了一些隨機趨勢,其自定義程度更高:使用了圖例和不同的顏色和線條。
Bokeh 還是制作交互式商業報表的絕佳工具。
Plotly
Plotly 非常強大,但用它設置和創建圖形都要花費大量時間,而且都不直觀。
Ploty 入門時有一些要注意的點:
- 安裝時要有 API 秘鑰,還要注冊,不是只用 pip 安裝就可以;
- Plotly 所繪制的數據和布局對象是獨一無二的,但並不直觀;
但它也有優點,而且設置中的所有缺點都有相應的解決方法:
- 你可以在 Plotly 網站和 Python 環境中編輯圖片;
- 支持交互式圖片和商業報表;
- Plotly 與 Mapbox 合作,可以自定義地圖;
- 很有潛力繪制優秀圖形。
Pygal
Pygal 的名氣就不那么大了,和其它常用的繪圖包一樣,它也是用圖形框架語法來構建圖像的。由於繪圖目標比較簡單,因此這是一個相對簡單的繪圖包。使用 Pygal 非常簡單:
- 實例化圖片;
- 用圖片目標屬性格式化;
- 用 figure.add() 將數據添加到圖片中。
Networkx
雖然 Networkx 是基於 matplotlib 的,但它仍是圖形分析和可視化的絕佳解決方案。圖形和網絡不是我的專業領域,但 Networkx 可以快速簡便地用圖形表示網絡之間的連接。
有很多數據可視化的包,但沒法說哪個是最好的。希望你可以了解到在不同的情境下,該如何使用不同的美化工具和代碼。
可視化工具:
1、Echart
一個純Javascript的數據可視化庫,百度的產品,常應用於軟件產品開發或網頁的統計圖表模塊。可在Web端高度定制可視化圖表,圖表種類多,動態可視化效,各類圖表各類形式都完全開源免費。能處理大數據量和3D繪圖也不遜色,據說結合百度地圖的使用很出色。
Echart還是多用於一些開發場景的,但它也衍生了一個0代碼的圖表生成器—“百度圖說”,我體驗了下,操作基本上就是選擇圖標,把數據復制過去,然后生成圖表,保存為圖或者代碼嵌入。
2、FineReport 可視化報表類——適合報表開發、BI工程師
一個報表軟件,企業級的應用。用於系統的開發業務報表,數據分析報表。也可集成在OA,ERP,CRM等應用系統內,做數據報表模塊,也可以開發成財務分析系統,就看你如何駕馭數據了。
兩大核心功能是填報和數據展示,但我覺得比較驚艷的一點是,它內置了大量的圖表和可視化動效,可視化很豐富,完全沒有印象中做報表那種古板的風格。多以它能做出格式各樣的dashboard、甚至是可視化大屏,一點不虛。
3、Tableau 商業智能分析——適合BI工程師、數據分析師
幾乎是數據分析師人人會提的工具,內置常用的分析圖表,和一些數據分析模型,可以快速的探索式數據分析,制作數據分析報告。
因為是商業智能,解決的問題更偏向商業分析,用 Tableau可以快速地做出動態交互圖,並且圖表和配色也非常拿得出手。
Tableau最近也正在學習,可以參考我博客有關Tableau中的圖,着實好用就對了,喜歡的就是它作圖美觀方便拖拽即可
4、FineBI
自助是BI工具,也是一款成熟的數據分析產品。內置豐富圖表,不需要代碼調用,可直接拖拽生成。可用於業務數據的快速分析,制作dashboard,也可構建可視化大屏。
有別於Tableau的是,它更傾向於企業應用,從內置的ETL功能以及數據處理方式上看出,側重業務數據的快速分析以及可視化展現。可與大數據平台,各類多維數據庫結合,所以在企業級BI應用上廣泛,個人使用免費。
5、PowerBI
軟繼Excel之后推出的BI產品,可以和Excel無縫連接使用,創建個性化的數據看板。
數據地圖類
很多工具都能實現數據地圖,比如上面提到的Echarts、finereport、tableau等。
這里強烈安利的Power Map 2016,可以快速體驗一把爽。
還有比較快速的,地圖慧,內置的是百度地圖,選擇模板、上傳數據、保存地圖很簡單的3步。
可視化大屏類
6、阿里DataV
天貓雙十一大屏就用DataV做的,是阿里雲的拖拽式可視化工具,主要用於業務數據與地理信息融合的大數據可視化,像一些展覽中心,企業管控中心用。
不需要編程,通過簡單的拖拽配置就能生成可視化大屏或者儀表盤。
FineReport
上面提過,這個工具它也能做可視化報表,也能做大屏。
因為后端通常連接業務系統數據,所以可以實時連接業務數據,做企業的一些經營數據展示。比如展覽中心、BOSS駕駛艙,還有城市交通管控中心、交易大廳等。