【Python】5种基本但功能非常强大的可视化类型
作者 | Soner Y?ld?r?m
編譯 | VK
來源 | Towards Data Science
數據可視化是數據科學的重要組成部分。它對于探索和理解數據非常有用。在某些情況下,可視化在傳遞信息方面也比普通數字好得多。
使用數據可視化技術可以很容易地發現變量之間的關系、變量的分布以及數據中的底層結構。
在本文中,我們將介紹數據分析中常用的5種基本數據可視化類型。我們將使用Altair庫,它是Python的統計可視化庫。
如果你喜歡其中一個用于數據可視化任務的庫的話,我以前曾用Seaborn和ggplot2寫過類似的文章。我建議你仔細檢查一下,因為在同一個任務上比較不同的工具和框架會幫助你學得更好。
讓我們首先創建一個用于示例的示例數據幀。
import?numpy?as?np import?pandas?as?pddf?=?pd.DataFrame({'date':pd.date_range(start='2020-01-10',?periods=100,?freq='D'),'cat':pd.Series(['A','B','C']).sample(n=100,?replace=True),'val':(np.random.randn(100)?+?10).round(2),'val2':(np.random.random(100)?*?10).round(2),'val3':np.random.randint(20,50,?size=100) })df?=?df.reset_index(drop=True)df.head()數據幀由100行和5列組成。它包含datetime、categorical和numerical值。
1.折線圖
折線圖顯示了兩個變量之間的關系。其中之一通常是時間。因此,我們可以看到變量是如何隨時間變化的,例如股票價格,每日溫度。
下面是如何用Altair創建一個簡單的折線圖。
import?altair?as?altalt.Chart(df).mark_line().encode(x='date',?y='val' )讓我們詳細說明一下語法。我們首先將數據傳遞給圖表對象。下一個函數指定繪圖類型。encode函數指定繪圖中使用的列。因此,在encode函數中寫入的任何內容都必須鏈接到數據幀。
Altair提供了更多的函數和參數來生成更多信息或定制的繪圖。我們將在下面的例子中看到它們。
為了使上面的折線圖看起來更好,我們可以使用“scale”特性調整y軸的值范圍。
alt.Chart(df).mark_line().encode(alt.X('date'),alt.Y('val',?scale=alt.Scale(zero=False)) )為了使用scale屬性,我們使用X和Y編碼(例如alt.X)指定列名。zero參數設置為“False”,以防止軸從零開始。
2.散點圖
散點圖也是一種關系圖。它通常用于顯示兩個數值變量的值。我們可以觀察它們之間是否有關聯。
我們可以創建“val”和“val2”列的散點圖,如下所示。
alt.Chart(df).mark_circle(size=40).encode(alt.X('val',?scale=alt.Scale(zero=False)),alt.Y('val2'),alt.Color('cat') )我們已經使用顏色編碼來根據“cat”列分離數據點。mark_circle函數的size參數用于調整散點圖中點的大小。
3.直方圖
直方圖用于顯示連續變量的分布。它將取值范圍劃分為離散的數據元,并統計每個數據元中的數據點個數。
讓我們創建“val3”列的直方圖。
alt.Chart(df).mark_bar().encode(alt.X('val3',?bin=True),alt.Y('count()') ).properties(title='Histogram?of?val3',?height=300,?width=450)我們還使用properties函數自定義大小并添加標題。
4.箱線圖
箱線圖提供了變量分布的概述。它顯示了值是如何通過四分位數和離群值展開的。
我們可以使用Altair的mark_boxplot函數創建一個箱線圖,如下所示。
alt.Chart(df).mark_boxplot().encode(alt.X('cat'),alt.Y('val2',?scale=alt.Scale(zero=False)) ).properties(height=200,?width=400)A中的值范圍小于其他兩個類別。框內的白線表示中值。
5.條形圖
條形圖可用于可視化離散變量。每個類別都用一個大小與該類別的值成比例的條表示。
例如,我們可以使用條形圖來可視化按week分組的“val3”列。我們先用pandas庫計算。
df['week']?=?df['date'].dt.isocalendar().weekweekly?=?df[['week','val3']].groupby('week',?as_index=False).sum()weekly.head()第一行從date列中提取周。第二行將“val3”列按周分組并計算總和。
我們現在可以創建條形圖。
alt.Chart(weekly).mark_bar().encode(x='val3:Q',?y='week:O' )結論
我們已經介紹了5種基本但功能非常強大的可視化類型。它們都是探索數據集和揭示變量之間關系的基礎。
使用Altair可以創建更復雜、信息更豐富、自定義的可視化效果。它在數據轉換和過濾方面也非常高效和強大。
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯溫州大學《機器學習課程》視頻 本站qq群851320808,加入微信群請掃碼:總結
以上是生活随笔為你收集整理的【Python】5种基本但功能非常强大的可视化类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win7系统去除图标箭头的方法
- 下一篇: 【Python基础】这份 pip 使用小