Seaborn數據集探索與圖表繪制實踐
學習目標
通過本課程,你將學習如何使用Seaborn庫中的內置數據集,了解如何加載這些數據集,并掌握使用這些數據集繪制圖表的基本方法。此外,你還將學習如何導入外部數據集,并在Seaborn中使用它們進行數據可視化。
相關知識點
- Seaborn數據集探索與圖表繪制實踐
學習內容
1 Seaborn數據集探索與圖表繪制實踐
1.1 依賴庫安裝
%pip install seaborn
%pip install matplotlib
1.2 Seaborn內置數據集的加載與使用
Seaborn是一個基于Matplotlib的高級數據可視化庫,它提供了許多內置的數據集,這些數據集非常適合用于學習和測試。Seaborn的數據集涵蓋了多種類型的數據,包括但不限于時間序列數據、分類數據和多變量數據等。這些數據集不僅有助于理解Seaborn的功能,還能幫助我們快速上手數據可視化。
加載內置數據集
加載Seaborn的內置數據集非常簡單,只需要調用seaborn.load_dataset()
函數,并傳入數據集的名稱作為參數。Seaborn中包含的數據集名稱可以通過查看官方文檔或直接調用seaborn.get_dataset_names()
來獲取。
import seaborn as sns# 獲取所有可用的數據集名稱
print(sns.get_dataset_names())# 加載'tips'數據集
tips = sns.load_dataset('tips')
print(tips.head())
這段代碼首先導入了Seaborn庫,并使用get_dataset_names()
函數獲取了所有可用的數據集名稱。然后,我們選擇了’tips’數據集進行加載,并打印了數據集的前幾行,以便查看數據的結構。
使用內置數據集
加載數據集后,我們就可以使用Seaborn的各種繪圖函數來探索數據。例如,我們可以使用sns.scatterplot()
函數來繪制散點圖,使用sns.barplot()
函數來繪制條形圖等。
# 繪制'tips'數據集中的散點圖
sns.scatterplot(x='total_bill', y='tip', data=tips)
import matplotlib.pyplot as plt
plt.show()# 繪制'tips'數據集中的條形圖
sns.barplot(x='day', y='total_bill', data=tips)
plt.show()
在這段代碼中,我們首先使用scatterplot()
函數繪制了’tips’數據集中’total_bill’和’tip’之間的關系圖。接著,使用barplot()
函數繪制了不同日子的’total_bill’平均值的條形圖。通過這些圖表,我們可以直觀地看到數據之間的關系。
使用Seaborn繪制基本圖表
Seaborn提供了多種繪圖函數,每種函數都針對特定類型的數據和圖表。了解這些函數的基本用法,可以幫助我們更有效地進行數據可視化。
繪制散點圖
散點圖是用于顯示兩個數值變量之間關系的圖表。在Seaborn中,可以使用scatterplot()
函數來繪制散點圖。
# 繪制'tips'數據集中的散點圖,添加顏色和大小參數
sns.scatterplot(x='total_bill', y='tip', hue='smoker', size='size', data=tips)
plt.show()
在這段代碼中,我們不僅繪制了’total_bill’和’tip’之間的散點圖,還通過hue
參數添加了顏色編碼,表示是否吸煙,通過size
參數調整了點的大小,表示餐桌的人數。這樣,圖表不僅顯示了兩個變量之間的關系,還提供了額外的信息。
繪制條形圖
條形圖用于顯示分類數據的分布情況。在Seaborn中,可以使用barplot()
函數來繪制條形圖。
# 繪制'tips'數據集中的條形圖,顯示不同日子的'total_bill'平均值
sns.barplot(x='day', y='total_bill', data=tips, ci=None)
plt.show()
在這段代碼中,我們繪制了不同日子的’total_bill’平均值的條形圖。通過設置ci=None
,我們去除了置信區間,使得圖表更加簡潔。
1.3 導入外部數據集
雖然Seaborn提供了豐富的內置數據集,但在實際工作中,我們更常用的是自己收集或從其他來源獲取的數據。Seaborn支持從CSV、Excel等文件中導入數據。
從CSV文件導入數據
從CSV文件導入數據非常簡單,可以使用Pandas庫的read_csv()
函數。
!wget https://model-community-picture.obs.cn-north-4.myhuaweicloud.com/ascend-zone/notebook_datasets/d2450e362fd711f0aa39fa163edcddae/tips.csv
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt# 從CSV文件導入數據
data = pd.read_csv('tips.csv')
print(data.head())
在這段代碼中,我們使用Pandas的read_csv()
函數從指定路徑讀取CSV文件,并將數據加載到一個DataFrame中。然后,我們打印了數據的前幾行,以檢查數據是否正確加載。
使用外部數據集繪制圖表
一旦數據被加載到DataFrame中,我們就可以像使用內置數據集一樣使用這些數據來繪制圖表。
繪制’tips’數據集中的散點圖,添加顏色和大小參數
sns.scatterplot(x=‘total_bill’, y=‘tip’, hue=‘smoker’, size=‘size’, data=data)
plt.show()