一、介紹
sns.load_dataset是seaborn庫中的一個函數,用於載入自帶的數據集,方便用戶學習和練習數據分析和可視化。該函數通過傳入數據集的名稱,返回一個 Pandas 的 DataFrame 類型的數據,其中包含了該數據集的所有屬性和信息,並且將其缺失值填充為 NaN。seaborn 庫支持的數據集包括 Titanic、Tips、Iris 以及其他一些經典數據集。
二、功能
sns.load_dataset主要用途是幫助用戶實現一些操作,比如數據分析,數據可視化等。舉個例子,我們可以使用這個函數載入 Iris 數據集並畫出散點圖:
import seaborn as sns
import matplotlib.pyplot as plt
iris_data = sns.load_dataset("iris")
sns.scatterplot(x="petal_length", y="petal_width", hue="species", data=iris_data)
plt.show()
通過這個例子,我們可以看到 sns.load_dataset 幫助我們讀取了 iris 數據集,並返回一個 DataFrame 類型的數據,我們將其放入 seaborn 的另外一個函數 scatterplot 中,使得我們可以畫出 scatter plot。這個 scatter plot 可以幫助我們分析 iris 數據集的三個種類之間的關係。
三、參數介紹
sns.load_dataset 函數有一個參數,即 dataset 名稱:
- name:數據集名稱,字元串類型參數,必需。數據集名稱在 seaborn 庫中是固定的,常見的有:”iris”, “tips”, “titanic” 等。
四、應用實例
1. Titanic Dataset 可視化
Titanic 數據集是描述 1912 年 Titanic 號沉船事件的數據集,包含了船上 2224 人的個人信息,包括他們的姓名、年齡、性別和票價等。我們可以使用 seaborn 和 matplotlib 庫對該數據集進行可視化。
import seaborn as sns
import matplotlib.pyplot as plt
titanic_data = sns.load_dataset("titanic")
# 使用Seaborn庫對數據進行可視化
sns.countplot(x="class", data=titanic_data)
plt.show()
以上代碼會輸出一個直方圖,橫軸為 1、 2、 3 三等艙的數量,縱軸為數量,可以很好地觀測 Titanic 中各艙人數的差異。
2. 統計 Iris Dataset
Iris 數據集是一個經典的花卉數據集,它包含了三種不同的花,即山鳶尾、變色鳶尾和維爾吉尼亞鳶尾,每種花有 50 個樣本。該數據集是通過花卉的萼片(sepel)和花瓣(petal)長度和寬度來進行分類的。我們可以使用 sns.load_dataset 和 Pandas 庫進行統計。
import seaborn as sns
import pandas as pd
iris_data = sns.load_dataset("iris")
# 用 Pandas 庫得到 features 和 Species 的值(也可以直接使用 Pandas 讀取這個文件)
features = iris_data.iloc[:, :-1].values
species = iris_data.iloc[:, -1].values
# 分析樣本的長度、寬度、平均值、最小值、最大值和標準差
mean_features = pd.DataFrame(features).mean()
min_features = pd.DataFrame(features).min()
max_features = pd.DataFrame(features).max()
std_features = pd.DataFrame(features).std()
print("Iris Dataset 列屬性平均值:\n", mean_features)
print("Iris Dataset 列屬性最小值:\n", min_features)
print("Iris Dataset 列屬性最大值:\n", max_features)
print("Iris Dataset 列屬性標準差:\n", std_features)
運行以上代碼,我們可以看到 Iris Dataset 的各項指標。
3. 帶標籤的 Scatter Plot
我們可以使用 sns.load_dataset 和 seaborn 庫幫助我們分析出三類花在一些屬性上的表現,並且用標籤來表示三類花的名稱。
import seaborn as sns
import matplotlib.pyplot as plt
iris_data = sns.load_dataset("iris")
# 對Iris數據集進行scatter plot分析
sns.scatterplot(x="petal_width", y="petal_length", hue="species", data=iris_data)
plt.show()
這段代碼將花瓣的長度和寬度作為x和y軸值,顏色由花的種類(setosa,versicolor,virginica)決定。這個散點圖給人一種花尺寸和形狀之間聯繫的印象。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/181830.html