成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

八步學會使用Pandas進行數(shù)據(jù)清洗

大數(shù)據(jù) 數(shù)據(jù)分析
你已成功使用Pandas清洗了第一個數(shù)據(jù)集。在處理復雜數(shù)據(jù)集時,你可能會遇到其他挑戰(zhàn)。然而,本文介紹的基本技術將幫助你入門,并為開始數(shù)據(jù)分析做好準備。

簡介

如果你對數(shù)據(jù)科學感興趣,那么數(shù)據(jù)清洗可能對你來說是一個熟悉的術語。如果不熟悉,那么本文先來解釋一下。我們的數(shù)據(jù)通常來自多個資源,而且并不干凈。它可能包含缺失值、重復值、錯誤或不需要的格式等。在這種混亂的數(shù)據(jù)上運行實驗會導致錯誤的結果。因此,在將數(shù)據(jù)輸入模型之前,有必要對數(shù)據(jù)進行準備。這種通過識別和解決潛在的錯誤、不準確性和不一致性來準備數(shù)據(jù)的做法被稱為數(shù)據(jù)清洗。

在本教程中將向你介紹使用Pandas進行數(shù)據(jù)清洗的過程。

數(shù)據(jù)集

本文將使用著名的鳶尾花數(shù)據(jù)集進行操作。鳶尾花數(shù)據(jù)集包含三個品種的鳶尾花的四個特征測量值:萼片長度、萼片寬度、花瓣長度和花瓣寬度。本文將使用以下庫:

  • Pandas:用于數(shù)據(jù)處理和分析的強大庫
  • Scikit-learn:提供數(shù)據(jù)預處理和機器學習的工具

數(shù)據(jù)清洗步驟

1. 加載數(shù)據(jù)集

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

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()

輸出:

id

sepal_length

sepal_width

petal_length

petal_width

species

1

5.1

3.5

1.4

0.2

Iris-setosa

2

4.9

3.0

1.4

0.2

Iris-setosa

3

4.7

3.2

1.3

0.2

Iris-setosa

4

4.6

3.1

1.5

0.2

Iris-setosa

5

5.0

3.6

1.4

0.2

Iris-setosa

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

2. 探索數(shù)據(jù)集

為了深入了解數(shù)據(jù)集的基本信息,本文將使用pandas的內(nèi)置函數(shù)打印一些基本信息:

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

輸出:

RangeIndex: 150 entries, 0 to 149
Data columns (total 6 columns):
 #   列名           非空計數(shù)         類型  
---  ------        --------------  -----  
 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()的輸出結果iris_data.describe()的輸出結果

info()函數(shù)有助于了解數(shù)據(jù)幀的整體結構、每列中非空值的數(shù)量以及內(nèi)存使用情況。而匯總統(tǒng)計信息則提供了數(shù)據(jù)集中數(shù)值特征的概覽。

3. 檢查類別分布

這是了解分類列中類別分布情況的重要步驟,對于分類任務來說非常重要??梢允褂肞andas中的value_counts()函數(shù)來執(zhí)行此步驟。

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

輸出:

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

輸出的結果顯示,數(shù)據(jù)集是平衡的,每個品種的代表數(shù)量相等。這為所有3個類別進行公平評估和比較奠定了基礎。

4. 刪除缺失值

由于從info()方法明顯可見本文的數(shù)據(jù)中有5列沒有缺失值,因此本文將跳過此步驟。但如果遇到任何缺失值,可以使用以下命令處理它們:

iris_data.dropna(inplace=True)

5. 刪除重復值

重復值可能會扭曲我們的分析結果,因此本文會從數(shù)據(jù)集中刪除它們。首先使用下面的命令檢查是否存在重復值:

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

輸出:

Number of duplicate rows: 0

本文的數(shù)據(jù)集中沒有重復值。不過,如果有重復值,可以使用drop_duplicates()函數(shù)將其刪除:

iris_data.drop_duplicates(inplace=True)

6. 獨熱編碼

對于分類分析,本文將對品種列進行獨熱編碼。由于機器學習算法更適合處理數(shù)值數(shù)據(jù),所以本文進行獨熱編碼這一步驟。獨熱編碼過程將分類變量轉(zhuǎ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)

圖片圖片

7. 浮點數(shù)列的歸一化

歸一化是將數(shù)值特征縮放為均值為0、標準差為1的過程。這一過程旨在確保各特征對分析的貢獻相等。本文將對浮點數(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()輸出結果歸一化后的iris_data.describe()輸出結果

8. 保存清洗后的數(shù)據(jù)集

將清洗后的數(shù)據(jù)集保存到新的CSV文件中。

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

總結

恭喜!你已成功使用Pandas清洗了第一個數(shù)據(jù)集。在處理復雜數(shù)據(jù)集時,你可能會遇到其他挑戰(zhàn)。然而,本文介紹的基本技術將幫助你入門,并為開始數(shù)據(jù)分析做好準備。

責任編輯:武曉燕 來源: Python學研大本營
相關推薦

2024-10-28 12:57:36

Pandas數(shù)據(jù)清洗

2018-04-03 12:07:53

數(shù)據(jù)清洗PandasNumpy

2012-04-06 10:44:02

2023-05-05 19:16:22

Python數(shù)據(jù)清洗

2022-03-28 14:08:02

Python數(shù)據(jù)清洗數(shù)據(jù)集

2009-08-26 16:56:49

Oracle訪問Syb

2023-05-05 19:29:41

2023-08-15 16:20:42

Pandas數(shù)據(jù)分析

2010-10-22 11:31:53

SQL Server自

2010-08-29 20:56:02

路由器DHCP配置

2023-02-15 08:24:12

數(shù)據(jù)分析數(shù)據(jù)可視化

2025-04-07 00:30:00

DeepSeek大數(shù)據(jù)數(shù)字化

2023-05-19 15:51:36

數(shù)據(jù)治理工具

2009-10-21 15:03:50

VB入門教程

2015-04-09 14:58:45

OpenStackDocker私有云搭建

2010-04-09 11:21:37

Linux下配置VSf

2010-07-02 14:26:55

Visio畫UML用例

2017-09-20 07:09:23

網(wǎng)線雙絞線電纜

2021-07-27 15:40:39

Python數(shù)據(jù)清洗函數(shù)

2020-06-05 14:29:07

PythonPandas數(shù)據(jù)分析
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久九九99 | 国产日韩欧美一区二区 | 99精品国产一区二区青青牛奶 | 羞羞涩涩在线观看 | 天堂一区 | www.色午夜.com | 亚洲视频 欧美视频 | 中文字幕在线视频一区二区三区 | av免费入口 | 特级毛片爽www免费版 | 成人一区二区三区在线观看 | 日韩欧美精品一区 | 亚洲一区在线观看视频 | 99久久影院 | 日韩欧美手机在线 | 亚洲精品一二区 | 亚洲综合在线网 | 久久久精品国产 | 日韩欧美国产精品综合嫩v 一区中文字幕 | 丁香色婷婷 | 国产精品久久久乱弄 | 国产成人高清视频 | 亚洲一区久久 | 国产精品久久久久久一区二区三区 | 欧美在线看片 | 国产综合精品一区二区三区 | av国产精品 | 日韩 国产 在线 | 青青艹在线视频 | 91秦先生艺校小琴 | 成人在线观看免费 | 香蕉久久久 | 色婷婷av一区二区三区软件 | 亚洲九九 | 99热精品在线观看 | 成人免费视频 | 久久久久久成人 | 欧美日韩第一页 | 国精产品一区一区三区免费完 | 日韩国产精品一区二区三区 | 三级黄视频在线观看 |