Pandas數(shù)據(jù)清洗和預(yù)處理的實現(xiàn)示例
讓我們通過幾個案例來學(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)
# 檢測缺失值
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)
# 檢測異常值
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)
# 檢測重復(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ù)實際需求在項目中應(yīng)用這些技術(shù)。
到此這篇關(guān)于Pandas數(shù)據(jù)清洗和預(yù)處理的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)Pandas數(shù)據(jù)清洗和預(yù)處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python cookbook(字符串與文本)針對任意多的分隔符拆分字符串操作示例
這篇文章主要介紹了Python cookbook(字符串與文本)針對任意多的分隔符拆分字符串操作,結(jié)合實例形式分析了Python使用split()及正則表達(dá)式進(jìn)行字符串拆分操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2018-04-04
Python實現(xiàn)將MySQL數(shù)據(jù)庫查詢結(jié)果導(dǎo)出到Excel
在實際工作中,我們經(jīng)常需要將數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出到Excel表格中進(jìn)行進(jìn)一步的分析和處理,Python中的pymysql和xlsxwriter庫提供了很好的解決方案,下面我們就來看看具體操作方法吧2023-11-11
Python+wxPython實現(xiàn)文件內(nèi)容搜索工具
在本篇文章中,我們將介紹如何使用?wxPython?庫創(chuàng)建一個簡單的文件搜索工具,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解一下2023-08-08
turtle的基礎(chǔ)使用之python?turtle遞歸繪圖
這篇文章主要介紹了turtle的基礎(chǔ)使用之python?turtle遞歸繪圖,turtle是一種比較簡單的第三方庫,下面借助遞歸繪圖詳細(xì)描述該內(nèi)容,具有一的的知識性參考價值,需要的朋友可以參考一下2022-02-02

