Python中數(shù)據(jù)清洗與處理的常用方法小結(jié)
數(shù)據(jù)清洗與處理是數(shù)據(jù)分析的重要步驟,確保數(shù)據(jù)的準(zhǔn)確性和一致性。Python 提供了多種工具和方法來處理數(shù)據(jù),其中 pandas 是最常用的數(shù)據(jù)處理庫。以下是一些常用的數(shù)據(jù)清洗與處理方法,結(jié)合具體代碼實(shí)現(xiàn)和理論解釋。
1. 數(shù)據(jù)導(dǎo)入與導(dǎo)出
pandas 支持多種數(shù)據(jù)格式的導(dǎo)入與導(dǎo)出,如 CSV、Excel、JSON 等。
import pandas as pd
# 從 CSV 文件導(dǎo)入數(shù)據(jù)
df = pd.read_csv('data.csv')
# 從 Excel 文件導(dǎo)入數(shù)據(jù)
df_excel = pd.read_excel('data.xlsx', sheet_name='Sheet1')
# 從 JSON 文件導(dǎo)入數(shù)據(jù)
df_json = pd.read_json('data.json')
# 導(dǎo)出到 CSV 文件
df.to_csv('output.csv', index=False)
# 導(dǎo)出到 Excel 文件
df.to_excel('output.xlsx', sheet_name='Sheet1', index=False)
# 導(dǎo)出到 JSON 文件
df.to_json('output.json', orient='records', lines=True)
2. 處理缺失值
缺失值是數(shù)據(jù)集中常見的問題,pandas 提供了多種方法處理缺失值。
# 檢測(cè)缺失值 print(df.isnull().sum()) # 檢查每列的缺失值數(shù)量 print(df.isnull().values.any()) # 檢查整個(gè) DataFrame 是否有缺失值 # 刪除缺失值 df_cleaned = df.dropna() # 刪除包含任何缺失值的行 df_cleaned = df.dropna(how='all') # 刪除所有列都為缺失值的行 # 填充缺失值 df_filled = df.fillna(0) # 用特定值填充缺失值 df_filled = df.fillna(method='ffill') # 用前一個(gè)有效值填充缺失值 df_filled = df.fillna(method='bfill') # 用后一個(gè)有效值填充缺失值
3. 處理重復(fù)值
重復(fù)值可能會(huì)影響分析結(jié)果,pandas 提供了便捷的方法去除重復(fù)數(shù)據(jù)。
# 查看重復(fù)行 duplicates = df[df.duplicated()] print(duplicates) # 刪除重復(fù)行,保留第一次出現(xiàn) df_unique = df.drop_duplicates()
4. 數(shù)據(jù)類型轉(zhuǎn)換
數(shù)據(jù)類型轉(zhuǎn)換是數(shù)據(jù)清洗中的常見操作,確保數(shù)據(jù)格式符合分析需求。
# 將某列轉(zhuǎn)換為整數(shù)類型 df['age'] = df['age'].astype(int) # 將某列轉(zhuǎn)換為日期類型 df['date'] = pd.to_datetime(df['date'], errors='coerce')
5. 異常值處理
異常值是指那些與其他數(shù)據(jù)明顯不同的值,可能會(huì)對(duì)分析結(jié)果產(chǎn)生負(fù)面影響。
# 使用 IQR 方法檢測(cè)和處理異常值 Q1 = df.quantile(0.25) Q3 = df.quantile(0.75) IQR = Q3 - Q1 df = df[~((df < (Q1 - 1.5 * IQR)) | (df > (Q3 + 1.5 * IQR))).any(axis=1)]
6. 數(shù)據(jù)標(biāo)準(zhǔn)化與歸一化
數(shù)據(jù)標(biāo)準(zhǔn)化和歸一化是數(shù)據(jù)預(yù)處理的重要步驟,有助于提升模型性能。
from sklearn.preprocessing import MinMaxScaler # 數(shù)據(jù)歸一化 scaler = MinMaxScaler() df['salary_normalized'] = scaler.fit_transform(df[['salary']])
7. 文本清洗
文本數(shù)據(jù)可能包含多余的空格、特殊字符等,需要進(jìn)行清洗。
# 去掉兩端空格
df['title'] = df['title'].str.strip()
# 替換特定字符
df['title'] = df['title'].str.replace('[^a-zA-Z0-9\s]', '', regex=True)
# 轉(zhuǎn)換為小寫
df['title'] = df['title'].str.lower()
8. 數(shù)據(jù)分組統(tǒng)計(jì)
按特定列分組并進(jìn)行統(tǒng)計(jì)分析。
# 按列分組求均值
grouped = df.groupby('author')['price'].mean()
print(grouped)
9. 數(shù)據(jù)分箱
將連續(xù)變量分段,賦予分類標(biāo)簽。
# 按價(jià)格分箱 bins = [0, 10, 20, 30] labels = ['低', '中', '高'] df['price_level'] = pd.cut(df['price'], bins=bins, labels=labels, right=False)
總結(jié)
數(shù)據(jù)清洗與處理是數(shù)據(jù)分析中的重要步驟,確保數(shù)據(jù)的準(zhǔn)確性和一致性。Python 的 pandas 庫提供了豐富的工具和方法來處理數(shù)據(jù),包括處理缺失值、重復(fù)值、異常值,數(shù)據(jù)類型轉(zhuǎn)換,文本清洗,數(shù)據(jù)分組統(tǒng)計(jì)等。通過這些方法,可以有效提高數(shù)據(jù)質(zhì)量,為后續(xù)的數(shù)據(jù)分析和機(jī)器學(xué)習(xí)模型訓(xùn)練奠定基礎(chǔ)。
到此這篇關(guān)于Python中數(shù)據(jù)清洗與處理的常用方法小結(jié)的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)清洗與處理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python獲取服務(wù)器響應(yīng)cookie的實(shí)例
今天小編就為大家分享一篇python獲取服務(wù)器響應(yīng)cookie的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Pygame實(shí)戰(zhàn)之實(shí)現(xiàn)經(jīng)典外星人游戲
這篇文章主要介紹了通過Pygame實(shí)現(xiàn)經(jīng)典的外星人游戲的示例代碼,文中的代碼講解詳細(xì),對(duì)我們了解Pygame有一定的幫助,感興趣的同學(xué)可以試一試2022-01-01
詳解如何用python實(shí)現(xiàn)一個(gè)簡(jiǎn)單下載器的服務(wù)端和客戶端
這篇文章主要介紹了詳解如何用python實(shí)現(xiàn)一個(gè)簡(jiǎn)單下載器的服務(wù)端和客戶端,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Pandas數(shù)據(jù)分析之批量拆分/合并Excel
怎樣將一個(gè)大的Excel拆分,或者將很多小Excel文件合并?下面這篇文章主要給大家介紹了關(guān)于Pandas數(shù)據(jù)分析之批量拆分/合并Excel的相關(guān)資料,需要的朋友可以參考下2021-09-09
PyTorch常用函數(shù)torch.cat()中dim參數(shù)使用說明
這篇文章主要為大家介紹了PyTorch常用函數(shù)torch.cat()中dim參數(shù)使用說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Python爬蟲實(shí)例之2021貓眼票房字體加密反爬策略(粗略版)
這篇文章主要介紹了Python爬蟲實(shí)例之2021貓眼票房字體加密反爬策略(粗略版),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
數(shù)組保存為txt, npy, csv 文件, 數(shù)組遍歷enumerate的方法
今天小編就為大家分享一篇數(shù)組保存為txt, npy, csv 文件, 數(shù)組遍歷enumerate的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07

