目錄介紹
在python中比較視覺化庫
seaborn視覺化型別
建立乙個條形圖
建立seaborn折線圖
有了我們的資料集之後,我們將快速檢視可以使用流行的
python
庫從資料集輕鬆建立視覺化,然後逐步介紹乙個視覺化示例。
本文是使用
python
和pandas
進行資料清洗系列的一部分。它旨在利用資料科學工具和技術來使開發人員快速啟動並執行。
現在,我們的資料似乎很乾淨了,並且有幾種不同的潛在檢視,我們可以探索視覺化選項。視覺化是資料清理過程中的最後乙個重要步驟,因為它提供了確保資料集有意義的好方法。
請注意,我們已經使用該系列模組的源資料檔案建立了完整的
jupyter notebook
有許多python
庫可用於視覺化資料集。流行的包括
matplotlib
,seaborn
,ggplt
和plotly
。我們當前使用的庫
pandas
也具有自己的視覺化功能。
那麼,您如何選擇以及需要什麼呢?好吧,這很大程度上取決於您的要求以及您對視覺化和
python
的舒適程度。
在我們的案例中,我們將展示一些
seaborn
視覺化資料集。
在資料集之上構建視覺化檔案時,可以選擇多種樣式。有時,最簡單的選項可提供最佳結果,但某些視覺化檔案適合不同的資料集。
以下是一些更常見的視覺化示例:
條形圖——資料的最常見視覺化是條形圖。當您想擁有不同資料元素的比較檢視時,此圖表最有用。例如,在條形圖中,您可以很容易地看到最大值,最小值或乙個或多個值之間的差異。
面積圖——面積圖看上去與條形圖相似,但是對於顯示值的增加和減少更為有用。
折線圖——折線圖通常用於表示一些隨時間變化的觀測值,例如趨勢分析,尤其是當這些隨時間變化小的情況時。
箱形圖——有時您的資料集不是由簡單值組成。箱形圖使您可以視覺化包含五個數字的摘要:最小值;四分之一;中位數
;第二四分位
和最大值。
散點圖——散點圖通常將值表示為點,可用於視覺化值的分布。
核心密度圖——最後,如果您需要視覺化概率密度,則核心密度圖可以很好地工作。
這些只是
seaborn
可以建立的更受歡迎的視覺化檔案中的一些。
seaborn
的文件站點也有大量
的示例庫
。我們將使用資料集檢視兩種不同的視覺化效果,即條形圖和折線圖。
儘管這兩種視覺化只是
seaborn
所包含內容的一小部分,但重要的部分是了解
seaborn api
並觀察其直接從
pandas dataframe
中提取資料的難易程度。一旦了解了如何使用
seaborn
繪製簡單的圖表,便可以開始研究並使用庫的更高階的視覺化工具。
我們將從本系列前面的文章中建立的
pandas dataframes
dataframe
,請隨時返回並閱讀整個系列。快速,有趣的閱讀!
但是,如果您已經熟悉
pandas dataframes
,則無需閱讀該系列。您已經知道理解以下**示例所需的一切。
為了展示乙個簡單的條形圖,讓我們看一下在重塑資料步驟結束時按狀態
dataframe
建立的總購買量的視覺化。我們已經在
notebook
的開頭匯入了
seaborn
並使用以下**進行設定:
import seaborn as sns
sns.set(style="darkgrid")
如果我們開始乙個新的**塊並新增以下內容:
plt.figure(figsize=(20,10))
statetotalschart = sns.barplot(data=totalsdata, x='state',y='amount')
statetotalschart.set_xticklabels(statetotalschart.get_xticklabels(), rotation=45, horizontalalignment='right')
生成的條形圖如下所示:
這三行**完成了三件事。首先,它通過設定
figsize
來使預設圖表大一些。第二行使用
barplot
建立實際的條形圖,並將資料設定為總計資料,狀態為
x軸,數量為
y軸。最後,最後一行通過旋轉
x軸標籤稍微改善了它們。這使視覺化效果看起來非常好,並且只花了三行**。
為了展示折線圖,我們將建立乙個新的摘要
dataframe
,其中的資料按購買日期分組。建立乙個新的**塊並新增以下內容:
purchasesbyday = combineddata.groupby(by='purch_date').sum().reset_index()
purchasesbyday.drop(columns=['purchase_id','customer_id','product_id'], inplace=true)
print(purchasesbyday.head(10))
這將建立乙個新的
dataframe
,其中彙總了當天的已售商品數量,已付款額和零售成本。
現在,我們可以啟動另乙個新的**塊並建立折線圖:
plt.figure(figsize=(20,10))
dailytotalschart = sns.lineplot(data=purchasesbyday, x='purch_date',y='amount')
圖表如下:
這次我們只需要兩行,第一行設定圖表的大小,並且由於
x軸是日期序列,
seaborn
正確地總結了
x軸,第二行建立了隨時間推移的購買總額的圖表。這使我們可以非常輕鬆地用很少的**行來建立有用的圖。
我們只涉及了
seaborn
可以做的事情的表面,因為它將需要整本書來詳細介紹它。好訊息是,
seaborn
的api
非常一致。您可以利用在建立簡單的折線圖和條形圖時所學的知識,並將其與
seaborn
的一些更高階的視覺化結合使用。
此外,seaborn
擁有出色的文件。如果單擊
seaborn
大型示例庫中的
任何示例
,您將看到顯示如何建立視覺化效果的**。
我們研究了
python
可用的許多不同的視覺化庫,以及一系列不同的視覺化型別。僅用幾行**,我們在清理後的資料集之上新增了一些有用的視覺化。隨著資料的更改,我們可以繼續重新執行此
notebook
,以每週、每月甚至每年更新此資料的視覺化。我們甚至可以使用此資料集來訓練機器學習模型。
seaborn簡單使用
匯入相應的python包 import pandas as pd import warnings 用來忽略seaborn繪相簿產生的warnings warnings.filterwarnings ignore import seaborn as sns import matplotlib.pypl...
numpy 索引多個 numpy和pandas
numpy numpy的陣列為ndarray ndarray與python列表的不同 eg 6.7.5 8.0.1.沒有 隔開,6.0表示為6.整合了c 進行運算 numpy的目的就是讓你不寫迴圈,所以效率很高 pandas 資料結構 series dataframe 索引物件 series 一組n...
在XNA中使用panda外掛程式匯出的 X檔案注意事項
引起這些問題的原因很多,先說說座標系,xna採用右手座標系,3dsmax也採用右手座標系,這是一樣的,但是不要忘了,當我們使用dxsdk自帶的模型檢視器觀察模型的時候,d3d用的可是左手座標系,而panda作為.x檔案匯出器,自然對d3d的座標系格外照顧,這樣看起來問題有一些複雜,好在我們不需要糾纏...