最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?Pandas輕松實(shí)現(xiàn)數(shù)據(jù)清理

 更新時(shí)間:2024年12月31日 15:58:02   作者:傻啦嘿喲  
在當(dāng)今的數(shù)據(jù)驅(qū)動(dòng)時(shí)代,數(shù)據(jù)清理是數(shù)據(jù)分析、機(jī)器學(xué)習(xí)項(xiàng)目中至關(guān)重要的一步,本文將帶大家輕松上手使用Python和Pandas進(jìn)行數(shù)據(jù)清理,希望對(duì)大家有所幫助

在當(dāng)今的數(shù)據(jù)驅(qū)動(dòng)時(shí)代,數(shù)據(jù)清理是數(shù)據(jù)分析、機(jī)器學(xué)習(xí)項(xiàng)目中至關(guān)重要的一步。臟數(shù)據(jù)、缺失值、重復(fù)記錄等問(wèn)題都可能?chē)?yán)重影響結(jié)果的準(zhǔn)確性。Python中的Pandas庫(kù)憑借其強(qiáng)大的數(shù)據(jù)處理能力,成為了數(shù)據(jù)清理的首選工具。本文將通過(guò)通俗易懂的語(yǔ)言、簡(jiǎn)潔的邏輯和豐富的案例,帶你輕松上手使用Python和Pandas進(jìn)行數(shù)據(jù)清理。

一、Pandas基礎(chǔ)與數(shù)據(jù)導(dǎo)入

Pandas是Python的一個(gè)開(kāi)源數(shù)據(jù)分析和操作庫(kù),提供了高性能、易于使用的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具。它基于NumPy構(gòu)建,適用于處理表格數(shù)據(jù),如CSV、Excel文件等。

1. 安裝Pandas

首先,確保你已經(jīng)安裝了Pandas庫(kù)。如果尚未安裝,可以使用以下命令進(jìn)行安裝:

pip install pandas

2. 導(dǎo)入Pandas

import pandas as pd

3. 數(shù)據(jù)導(dǎo)入

Pandas提供了多種方法導(dǎo)入數(shù)據(jù),如從CSV、Excel、SQL數(shù)據(jù)庫(kù)等。以下是從CSV文件導(dǎo)入數(shù)據(jù)的示例:

df = pd.read_csv('data.csv')

二、數(shù)據(jù)預(yù)覽與初步分析

在進(jìn)行數(shù)據(jù)清理之前,了解數(shù)據(jù)的結(jié)構(gòu)和內(nèi)容至關(guān)重要。Pandas提供了多種方法幫助我們快速預(yù)覽數(shù)據(jù)。

1. 查看數(shù)據(jù)前幾行

print(df.head())

2. 查看數(shù)據(jù)列名

print(df.columns)

3. 查看數(shù)據(jù)形狀

print(df.shape)

4. 查看數(shù)據(jù)基本統(tǒng)計(jì)信息

print(df.describe())

通過(guò)這些方法,我們可以初步了解數(shù)據(jù)的結(jié)構(gòu)、類型、缺失值情況等,為后續(xù)的數(shù)據(jù)清理工作奠定基礎(chǔ)。

三、處理缺失值

缺失值是數(shù)據(jù)清理中的常見(jiàn)問(wèn)題。Pandas提供了多種方法來(lái)處理缺失值,如刪除含有缺失值的行或列、填充缺失值等。

1. 刪除缺失值

使用dropna方法可以刪除含有缺失值的行或列。

# 刪除含有缺失值的行
df_drop_rows = df.dropna()
 
# 刪除含有缺失值的列
df_drop_cols = df.dropna(axis=1)

2. 填充缺失值

使用fillna方法可以用指定的值填充缺失值。

# 用0填充缺失值
df_fill_0 = df.fillna(0)
 
# 用列的平均值填充缺失值
df_fill_mean = df.fillna(df.mean())

3. 插值填充

對(duì)于時(shí)間序列數(shù)據(jù),可以使用interpolate方法進(jìn)行插值填充。

# 插值填充缺失值
df_interpolate = df.interpolate()

四、處理重復(fù)值

重復(fù)值也是數(shù)據(jù)清理中需要關(guān)注的問(wèn)題。Pandas提供了duplicated方法和drop_duplicates方法來(lái)識(shí)別和處理重復(fù)值。

1. 識(shí)別重復(fù)值

# 標(biāo)記重復(fù)值
duplicated_df = df[df.duplicated()]

2. 刪除重復(fù)值

# 刪除重復(fù)值,保留第一次出現(xiàn)的記錄
df_drop_duplicates = df.drop_duplicates()

3. 刪除所有重復(fù)值

# 刪除所有重復(fù)值,只保留唯一記錄
df_unique = df.drop_duplicates(keep=False)

五、處理異常值

異常值(離群值)可能對(duì)數(shù)據(jù)分析結(jié)果產(chǎn)生顯著影響。Pandas雖然沒(méi)有直接處理異常值的函數(shù),但我們可以結(jié)合統(tǒng)計(jì)方法和條件篩選來(lái)識(shí)別和處理異常值。

1. 使用統(tǒng)計(jì)方法識(shí)別異常值

通常,我們可以使用3σ原則(三倍標(biāo)準(zhǔn)差)或四分位數(shù)間距(IQR)來(lái)識(shí)別異常值。

# 計(jì)算四分位數(shù)間距(IQR)
Q1 = df['column_name'].quantile(0.25)
Q3 = df['column_name'].quantile(0.75)
IQR = Q3 - Q1
 
# 識(shí)別異常值
outliers = df[(df['column_name'] < (Q1 - 1.5 * IQR)) | (df['column_name'] > (Q3 + 1.5 * IQR))]

2. 處理異常值

處理異常值的方法有很多,如刪除異常值、用平均值、中位數(shù)等替換異常值等。

# 刪除異常值
df_no_outliers = df[~((df['column_name'] < (Q1 - 1.5 * IQR)) | (df['column_name'] > (Q3 + 1.5 * IQR)))]
 
# 用中位數(shù)替換異常值
median_value = df['column_name'].median()
df['column_name'] = df['column_name'].apply(lambda x: median_value if ((x < (Q1 - 1.5 * IQR)) | (x > (Q3 + 1.5 * IQR))) else x)

六、數(shù)據(jù)類型轉(zhuǎn)換

在數(shù)據(jù)清理過(guò)程中,我們經(jīng)常需要將數(shù)據(jù)類型轉(zhuǎn)換為適合分析的類型。Pandas提供了astype方法來(lái)進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。

1. 轉(zhuǎn)換為字符串類型

df['column_name'] = df['column_name'].astype(str)

2. 轉(zhuǎn)換為整數(shù)類型

df['column_name'] = df['column_name'].astype(int)

3. 轉(zhuǎn)換為浮點(diǎn)數(shù)類型

df['column_name'] = df['column_name'].astype(float)

4. 轉(zhuǎn)換為日期時(shí)間類型

df['date_column'] = pd.to_datetime(df['date_column'])

七、數(shù)據(jù)標(biāo)準(zhǔn)化與歸一化

在某些數(shù)據(jù)分析場(chǎng)景中,我們需要對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化或歸一化處理,以消除不同量綱對(duì)數(shù)據(jù)分析結(jié)果的影響。

1. 標(biāo)準(zhǔn)化

標(biāo)準(zhǔn)化是將數(shù)據(jù)轉(zhuǎn)換為均值為0、標(biāo)準(zhǔn)差為1的分布??梢允褂胹klearn.preprocessing.StandardScaler進(jìn)行標(biāo)準(zhǔn)化處理。

from sklearn.preprocessing import StandardScaler
 
scaler = StandardScaler()
df[['column1', 'column2']] = scaler.fit_transform(df[['column1', 'column2']])

2. 歸一化

歸一化是將數(shù)據(jù)縮放到指定的最小值和最大值之間(通常是0和1)??梢允褂胹klearn.preprocessing.MinMaxScaler進(jìn)行歸一化處理。

from sklearn.preprocessing import MinMaxScaler
 
scaler = MinMaxScaler()
df[['column1', 'column2']] = scaler.fit_transform(df[['column1', 'column2']])

八、案例實(shí)戰(zhàn):清理銷(xiāo)售數(shù)據(jù)

下面,我們將通過(guò)一個(gè)實(shí)際的銷(xiāo)售數(shù)據(jù)清理案例,將上述知識(shí)綜合運(yùn)用。

1. 數(shù)據(jù)導(dǎo)入與預(yù)覽

df = pd.read_csv('sales_data.csv')
print(df.head())

2. 處理缺失值

# 刪除含有缺失值的行
df = df.dropna()
 
# 對(duì)某些列用指定值填充缺失值(如用0填充缺失的折扣率)
df['discount_rate'] = df['discount_rate'].fillna(0)

3. 處理重復(fù)值

df = df.drop_duplicates()

4. 處理異常值

# 計(jì)算銷(xiāo)售額的四分位數(shù)間距
Q1 = df['sales_amount'].quantile(0.25)
Q3 = df['sales_amount'].quantile(0.75)
IQR = Q3 - Q1
 
# 刪除銷(xiāo)售額異常值
df = df[~((df['sales_amount'] < (Q1 - 1.5 * IQR)) | (df['sales_amount'] > (Q3 + 1.5 * IQR)))]

5. 數(shù)據(jù)類型轉(zhuǎn)換

# 將日期列轉(zhuǎn)換為日期時(shí)間類型
df['order_date'] = pd.to_datetime(df['order_date'])
 
# 將折扣率轉(zhuǎn)換為浮點(diǎn)數(shù)類型
df['discount_rate'] = df['discount_rate'].astype(float)

6. 數(shù)據(jù)標(biāo)準(zhǔn)化

from sklearn.preprocessing import StandardScaler
 
scaler = StandardScaler()
df[['sales_amount', 'quantity']] = scaler.fit_transform(df[['sales_amount', 'quantity']])

7. 清理后的數(shù)據(jù)預(yù)覽

print(df.head())

通過(guò)以上步驟,我們成功清理了銷(xiāo)售數(shù)據(jù)中的缺失值、重復(fù)值、異常值,并對(duì)數(shù)據(jù)進(jìn)行了類型轉(zhuǎn)換和標(biāo)準(zhǔn)化處理。清理后的數(shù)據(jù)更加整潔、規(guī)范,為后續(xù)的數(shù)據(jù)分析工作奠定了堅(jiān)實(shí)基礎(chǔ)。

結(jié)語(yǔ)

數(shù)據(jù)清理是數(shù)據(jù)分析、機(jī)器學(xué)習(xí)項(xiàng)目中不可或缺的一步。Pandas憑借其強(qiáng)大的數(shù)據(jù)處理能力,成為了數(shù)據(jù)清理的首選工具。本文通過(guò)通俗易懂的語(yǔ)言、簡(jiǎn)潔的邏輯和豐富的案例,帶你輕松上手使用Python和Pandas

到此這篇關(guān)于Python Pandas輕松實(shí)現(xiàn)數(shù)據(jù)清理的文章就介紹到這了,更多相關(guān)Python Pandas數(shù)據(jù)清理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python自制簡(jiǎn)易mysql連接池的實(shí)現(xiàn)示例

    python自制簡(jiǎn)易mysql連接池的實(shí)現(xiàn)示例

    本文主要介紹了python自制簡(jiǎn)易mysql連接池的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Python 敏感詞過(guò)濾的實(shí)現(xiàn)示例

    Python 敏感詞過(guò)濾的實(shí)現(xiàn)示例

    本文主要介紹了Python 敏感詞過(guò)濾的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 微信跳一跳python輔助軟件思路及圖像識(shí)別源碼解析

    微信跳一跳python輔助軟件思路及圖像識(shí)別源碼解析

    這篇文章主要介紹了微信跳一跳python輔助軟件思路及圖像識(shí)別源碼解析,需要的朋友可以參考下
    2018-01-01
  • Python求最小公倍數(shù)4種方法總結(jié)

    Python求最小公倍數(shù)4種方法總結(jié)

    這篇文章主要給大家介紹了關(guān)于Python求最小公倍數(shù)4種方法的相關(guān)資料,最小公倍數(shù)不可以像最大公約數(shù)那樣直接利用輾轉(zhuǎn)相除法求出,但可以借助輾轉(zhuǎn)相除法求得的最大公約數(shù)來(lái)求最小公倍數(shù),需要的朋友可以參考下
    2023-10-10
  • Django3.2 自動(dòng)發(fā)現(xiàn)所有路由代碼詳解

    Django3.2 自動(dòng)發(fā)現(xiàn)所有路由代碼詳解

    這篇文章主要為大家介紹了Django自動(dòng)發(fā)現(xiàn)所有路由的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • python?中賦值,深拷貝,淺拷貝的區(qū)別

    python?中賦值,深拷貝,淺拷貝的區(qū)別

    這篇文章主要介紹了python?中賦值,深拷貝,淺拷貝的區(qū)別,下文利用實(shí)例對(duì)三者進(jìn)行詳細(xì)的解析,具有一的的參考價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-03-03
  • 淺談python數(shù)據(jù)類型及類型轉(zhuǎn)換

    淺談python數(shù)據(jù)類型及類型轉(zhuǎn)換

    這篇文章主要介紹了淺談python數(shù)據(jù)類型及類型轉(zhuǎn)換,介紹了python中的數(shù)據(jù)類型,以及數(shù)據(jù)的不可變性,還有字符串,列表等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Python NumPy實(shí)現(xiàn)數(shù)組搜索示例詳解

    Python NumPy實(shí)現(xiàn)數(shù)組搜索示例詳解

    NumPy是一個(gè)開(kāi)源的Python科學(xué)計(jì)算庫(kù),使用NumPy可以很自然地使用數(shù)組和矩陣,這篇文章主要介紹了使用NumPy實(shí)現(xiàn)數(shù)組搜索,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-05-05
  • 使用conda打包環(huán)境并離線安裝的踩坑及解決

    使用conda打包環(huán)境并離線安裝的踩坑及解決

    文章介紹了在沒(méi)有網(wǎng)絡(luò)的情況下創(chuàng)建和使用虛擬環(huán)境的方法,首先,可以下載所有包(.whl文件),然后離線安裝,推薦使用conda-pack工具對(duì)虛擬環(huán)境進(jìn)行打包和解包,文章還詳細(xì)介紹了如何從頭開(kāi)始創(chuàng)建虛擬環(huán)境,并使用pip安裝所有包,最后,文章總結(jié)了虛擬環(huán)境打包和解包的步驟
    2025-11-11
  • Python HTMLTestRunner測(cè)試報(bào)告view按鈕失效解決方案

    Python HTMLTestRunner測(cè)試報(bào)告view按鈕失效解決方案

    這篇文章主要介紹了Python HTMLTestRunner測(cè)試報(bào)告view按鈕失效解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05

最新評(píng)論

二连浩特市| 金塔县| 菏泽市| 濮阳市| 克拉玛依市| 福鼎市| 石柱| 新和县| 宁南县| 都兰县| 呼玛县| 宜阳县| 寿阳县| 察哈| 霍林郭勒市| 宿迁市| 建德市| 嘉义市| 图木舒克市| 沙田区| 垫江县| 义马市| 慈溪市| 谢通门县| 库尔勒市| 杭州市| 育儿| 晋中市| 准格尔旗| 江华| 宣城市| 乡城县| 西畴县| 佛教| 墨江| 合阳县| 克什克腾旗| 腾冲县| 太原市| 搜索| 临清市|