Pandas數(shù)據(jù)清洗和預(yù)處理的實(shí)現(xiàn)示例
讓我們通過幾個(gè)案例來學(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)
通過這些案例,您可以學(xué)習(xí)如何使用Pandas提供的函數(shù)和方法來處理數(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)文章
Python cookbook(字符串與文本)針對(duì)任意多的分隔符拆分字符串操作示例
這篇文章主要介紹了Python cookbook(字符串與文本)針對(duì)任意多的分隔符拆分字符串操作,結(jié)合實(shí)例形式分析了Python使用split()及正則表達(dá)式進(jìn)行字符串拆分操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-04-04Python實(shí)現(xiàn)將MySQL數(shù)據(jù)庫查詢結(jié)果導(dǎo)出到Excel
在實(shí)際工作中,我們經(jīng)常需要將數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出到Excel表格中進(jìn)行進(jìn)一步的分析和處理,Python中的pymysql和xlsxwriter庫提供了很好的解決方案,下面我們就來看看具體操作方法吧2023-11-11Python+wxPython實(shí)現(xiàn)文件內(nèi)容搜索工具
在本篇文章中,我們將介紹如何使用?wxPython?庫創(chuàng)建一個(gè)簡(jiǎn)單的文件搜索工具,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2023-08-08Django 路由層URLconf的實(shí)現(xiàn)
這篇文章主要介紹了Django 路由層URLconf的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Python中實(shí)現(xiàn)常量(Const)功能
這篇文章主要介紹了Python中實(shí)現(xiàn)常量(Const)功能,python語言本身沒有提供const,本文使用一個(gè)類來實(shí)現(xiàn)常量定義功能,并介紹了使用方法,需要的朋友可以參考下2015-01-01turtle的基礎(chǔ)使用之python?turtle遞歸繪圖
這篇文章主要介紹了turtle的基礎(chǔ)使用之python?turtle遞歸繪圖,turtle是一種比較簡(jiǎn)單的第三方庫,下面借助遞歸繪圖詳細(xì)描述該內(nèi)容,具有一的的知識(shí)性參考價(jià)值,需要的朋友可以參考一下2022-02-02Python pygame繪制文字制作滾動(dòng)文字過程解析
這篇文章主要介紹了Python pygame繪制文字制作滾動(dòng)文字過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12