<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > Pandas數據清理

Pandas數據清理

發(fā)布人:ygtu 時(shí)間:2023-09-13 來(lái)源:工程師 發(fā)布文章
推薦:使用NSDT場(chǎng)景編輯器快速搭建3D應用場(chǎng)景
介紹

如果您喜歡數據科學(xué),那么數據清理對您來(lái)說(shuō)可能聽(tīng)起來(lái)像是一個(gè)熟悉的術(shù)語(yǔ)。如果沒(méi)有,讓我向你解釋一下。我們的數據通常來(lái)自多個(gè)資源,并不干凈。它可能包含缺失值、重復項、錯誤或不需要的格式等。對這些混亂的數據運行實(shí)驗會(huì )導致不正確的結果。因此,有必要在將數據饋送到模型之前準備數據。通過(guò)識別和解決潛在的錯誤、不準確和不一致來(lái)準備數據稱(chēng)為數據清理。

在本教程中,我將引導您完成使用 Pandas 清理數據的過(guò)程。

數據

我將使用著(zhù)名的鳶尾花數據集。鳶尾花數據集包含三種鳶尾花的四個(gè)特征的測量值:萼片長(cháng)度、萼片寬度、花瓣長(cháng)度和花瓣寬度。我們將使用以下庫:

  • pandas: 用于數據操作和分析的強大庫

  • Scikit-learn: 提供用于數據預處理和機器學(xué)習的工具

數據清理步驟1. 加載數據集

使用 Pandas 的 read_csv() 函數加載鳶尾花數據集:

column_names = ['id', 'sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'species']
iris_data = pd.read_csv('data/Iris.csv', names= column_names, header=0)
iris_data.head()

輸出:

編號sepal_lengthsepal_widthpetal_lengthpetal_width物種
15.13.51.40.2鳶尾花
24.93.01.40.2鳶尾花
34.73.21.30.2鳶尾花
44.63.11.50.2鳶尾花
55.03.61.40.2鳶尾花

header=0 參數指示 CSV 文件的第一行包含列名(標題)。

2. 瀏覽數據集

為了深入了解我們的數據集,我們將使用 pandas 中的內置函數打印一些基本信息

print(iris_data.info())
print(iris_data.describe())

輸出:

RangeIndex: 150 entries, 0 to 149
Data columns (total 6 columns):
 #   Column        Non-Null Count  Dtype  
---  ------        --------------  -----  
 0   id            150 non-null    int64  
 1   sepal_length  150 non-null    float64
 2   sepal_width   150 non-null    float64
 3   petal_length  150 non-null    float64
 4   petal_width   150 non-null    float64
 5   species       150 non-null    object 
dtypes: float64(4), int64(1), object(1)
memory usage: 7.2+ KB
None

熊貓數據清理


iris_data.describe() 的輸出

info() 函數可用于了解數據幀的整體結構、每列中非空值的數量以及內存使用情況。而匯總統計數據則提供了數據集中數值要素的概述。

3. 檢查類(lèi)分布

這是了解類(lèi)如何在分類(lèi)列中分布的重要步驟,這是分類(lèi)的重要任務(wù)。您可以使用 pandas 中的 value_counts() 函數執行此步驟。

print(iris_data['species'].value_counts())

輸出:

Iris-setosa        50
Iris-versicolor    50
Iris-virginica     50
Name: species, dtype: int64

我們的結果表明,數據集是平衡的,每個(gè)物種的表示數量相等。這為所有 3 個(gè)班級的公平評估和比較奠定了基礎。

4. 刪除缺失值

由于從 info() 方法中可以明顯看出我們有 5 列沒(méi)有缺失值,因此我們將跳過(guò)此步驟。但是,如果遇到任何缺失值,請使用以下命令來(lái)處理它們:

iris_data.dropna(inplace=True)
5. 刪除重復項

重復項可能會(huì )扭曲我們的分析,因此我們會(huì )將它們從數據集中刪除。我們將首先使用下面提到的命令檢查它們的存在:

duplicate_rows = iris_data.duplicated()
print("Number of duplicate rows:", duplicate_rows.sum())

輸出:

Number of duplicate rows: 0

此數據集沒(méi)有任何重復項。盡管如此,可以通過(guò) drop_duplicates() 函數刪除重復項。

iris_data.drop_duplicates(inplace=True)
6. 獨熱編碼

對于分類(lèi)分析,我們將對物種列執行獨熱編碼。執行此步驟是由于機器學(xué)習算法傾向于更好地處理數值數據。獨熱編碼過(guò)程將分類(lèi)變量轉換為二進(jìn)制(0 或 1)格式。

encoded_species = pd.get_dummies(iris_data['species'], prefix='species', drop_first=False).astype('int')
iris_data = pd.concat([iris_data, encoded_species], axis=1)
iris_data.drop(columns=['species'], inplace=True)

熊貓數據清理


圖片來(lái)源:作者

7. 浮點(diǎn)值列的規范化

歸一化是將數值特征縮放為平均值為 0 且標準差為 1 的過(guò)程。執行此過(guò)程是為了確保要素對分析的貢獻相同。我們將規范化浮點(diǎn)值列以實(shí)現一致的縮放。

from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
cols_to_normalize = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width']
scaled_data = scaler.fit(iris_data[cols_to_normalize])
iris_data[cols_to_normalize] = scaler.transform(iris_data[cols_to_normalize])

熊貓數據清理


規范化
后 iris_data.describe() 的輸出

8. 保存已清理的數據集

將清理后的數據集保存到新的 CSV 文件。

iris_data.to_csv('cleaned_iris.csv', index=False)
總結

祝賀!您已成功使用 pandas 清理了第一個(gè)數據集。在處理復雜數據集時(shí),您可能會(huì )遇到其他挑戰。但是,此處提到的基本技術(shù)將幫助您入門(mén)并準備數據以進(jìn)行分析。

原文鏈接:Pandas數據清理 (mvrlink.com)


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。



關(guān)鍵詞: 數據分析 Pandas

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>