Pandas數(shù)據(jù)清洗和預(yù)處理的實(shí)現(xiàn)示例
讓我們通過(guò)幾個(gè)案例來(lái)學(xué)習(xí)如何使用Pandas進(jìn)行數(shù)據(jù)清洗和預(yù)處理,包括處理缺失值、異常值,進(jìn)行數(shù)據(jù)轉(zhuǎn)換和規(guī)范化,以及處理重復(fù)數(shù)據(jù)等操作。
處理缺失值:
# 創(chuàng)建包含缺失值的DataFrame
data = {
'姓名': ['張三', '李四', None, '趙六'],
'年齡': [18, 19, None, 20],
'性別': ['男', '女', '男', '女'],
'分?jǐn)?shù)': [90, None, 95, 80]
}
df = pd.DataFrame(data)
# 檢測(cè)缺失值
print(df.isnull())
# 刪除包含缺失值的行
df_dropna = df.dropna()
print(df_dropna)
# 使用指定值填充缺失值
df_fillna = df.fillna(0)
print(df_fillna)
處理異常值:
# 創(chuàng)建包含異常值的DataFrame
data = {
'姓名': ['張三', '李四', '王五', '趙六'],
'年齡': [18, -10, 17, 20],
'性別': ['男', '女', '男', '女'],
'分?jǐn)?shù)': [90, 85, 105, 80]
}
df = pd.DataFrame(data)
# 檢測(cè)異常值
age_outliers = df[(df['年齡'] < 0) | (df['年齡'] > 100)]
print(age_outliers)
score_outliers = df[(df['分?jǐn)?shù)'] < 0) | (df['分?jǐn)?shù)'] > 100)]
print(score_outliers)
# 替換異常值
df.loc[df['年齡'] < 0, '年齡'] = 18
df.loc[df['分?jǐn)?shù)'] < 0, '分?jǐn)?shù)'] = 0
print(df)
數(shù)據(jù)轉(zhuǎn)換和規(guī)范化:
# 將姓名列轉(zhuǎn)換為大寫
df['姓名'] = df['姓名'].str.upper()
print(df)
# 將分?jǐn)?shù)歸一化到0-1之間
df['分?jǐn)?shù)_normalized'] = (df['分?jǐn)?shù)'] - df['分?jǐn)?shù)'].min()) / (df['分?jǐn)?shù)'].max() - df['分?jǐn)?shù)'].min())
print(df)
# 使用字典映射進(jìn)行數(shù)據(jù)規(guī)范化
gender_mapping = {'男': 1, '女': 0}
df['性別_encoded'] = df['性別'].map(gender_mapping)
print(df)
處理重復(fù)數(shù)據(jù):
# 創(chuàng)建包含重復(fù)數(shù)據(jù)的DataFrame
data = {
'姓名': ['張三', '李四', '王五', '張三'],
'年齡': [18, 19, 17, 20],
'性別': ['男', '女', '男', '男'],
'分?jǐn)?shù)': [90, 85, 95, 80]
}
df = pd.DataFrame(data)
# 檢測(cè)重復(fù)行
duplicate_rows = df.duplicated()
print(duplicate_rows)
# 刪除重復(fù)行
df_drop_duplicates = df.drop_duplicates()
print(df_drop_duplicates)
通過(guò)這些案例,您可以學(xué)習(xí)如何使用Pandas提供的函數(shù)和方法來(lái)處理數(shù)據(jù)清洗和預(yù)處理的任務(wù)。這些操作可以幫助您處理缺失值、異常值,進(jìn)行數(shù)據(jù)轉(zhuǎn)換和規(guī)范化,并處理重復(fù)數(shù)據(jù),使數(shù)據(jù)適合后續(xù)的分析和建模。掌握這些技巧可以提高數(shù)據(jù)質(zhì)量和準(zhǔn)確性,從而得到更可靠的分析結(jié)果。您可以根據(jù)實(shí)際需求在項(xiàng)目中應(yīng)用這些技術(shù)。
到此這篇關(guān)于Pandas數(shù)據(jù)清洗和預(yù)處理的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Pandas數(shù)據(jù)清洗和預(yù)處理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用pickle存儲(chǔ)數(shù)據(jù)dump 和 load實(shí)例講解
今天小編就為大家分享一篇使用pickle存儲(chǔ)數(shù)據(jù)dump 和 load實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
Python根據(jù)輸入?yún)?shù)計(jì)算結(jié)果的實(shí)例方法
在本篇文章里小編個(gè)大家整理了一篇關(guān)于Python根據(jù)輸入?yún)?shù)計(jì)算結(jié)果的實(shí)例方法,有興趣的朋友們可以跟著學(xué)習(xí)參考下。2021-08-08
Python利用Spire.OCR for Python實(shí)現(xiàn)從圖片中提取文本和坐標(biāo)
在數(shù)據(jù)處理、文檔數(shù)字化及圖像內(nèi)容分析等開發(fā)場(chǎng)景中,光學(xué)字符識(shí)別(OCR)技術(shù)常被用于將圖像中的文字轉(zhuǎn)化為可編輯、可搜索的文本格式,Spire.OCR for Python 作為 Python 生態(tài)中的一款 OCR 類庫(kù),可實(shí)現(xiàn)圖片文本提取及文字位置定位,下面小編為大家詳細(xì)說(shuō)說(shuō)2025-10-10
windows 10下安裝搭建django1.10.3和Apache2.4的方法
最近發(fā)現(xiàn)很多教程都是在linux上搭建,windows上似乎天生不太適合,但是我還是愿意試試這個(gè)坑。下面這篇文章主要給大家介紹了在windows 10系統(tǒng)下安裝搭建django1.10.3和Apache2.4的方法,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-04-04
python爬蟲之BeautifulSoup 使用select方法詳解
本篇文章主要介紹了python爬蟲之BeautifulSoup 使用select方法詳解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
Windows環(huán)境下如何使用Pycharm運(yùn)行sh文件
這篇文章主要介紹了Windows環(huán)境下如何使用Pycharm運(yùn)行sh文件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02

