欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中數(shù)據(jù)清洗與處理的常用方法小結(jié)

 更新時間:2025年02月18日 09:25:49   作者:大懶貓軟件  
數(shù)據(jù)清洗與處理是數(shù)據(jù)分析的重要步驟,確保數(shù)據(jù)的準(zhǔn)確性和一致性,這篇文章為大家整理了Python中一些常用的數(shù)據(jù)清洗與處理方法,需要的可以參考下

數(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 提供了多種方法處理缺失值。

# 檢測缺失值
print(df.isnull().sum())  # 檢查每列的缺失值數(shù)量
print(df.isnull().values.any())  # 檢查整個 DataFrame 是否有缺失值

# 刪除缺失值
df_cleaned = df.dropna()  # 刪除包含任何缺失值的行
df_cleaned = df.dropna(how='all')  # 刪除所有列都為缺失值的行

# 填充缺失值
df_filled = df.fillna(0)  # 用特定值填充缺失值
df_filled = df.fillna(method='ffill')  # 用前一個有效值填充缺失值
df_filled = df.fillna(method='bfill')  # 用后一個有效值填充缺失值

3. 處理重復(fù)值

重復(fù)值可能會影響分析結(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ù)明顯不同的值,可能會對分析結(jié)果產(chǎn)生負(fù)面影響。

# 使用 IQR 方法檢測和處理異常值
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)簽。

# 按價格分箱
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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python根據(jù)時間生成mongodb的ObjectId的方法

    python根據(jù)時間生成mongodb的ObjectId的方法

    這篇文章主要介紹了python根據(jù)時間生成mongodb的ObjectId的方法,涉及Python操作mongodb數(shù)據(jù)庫的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • OpenCV中Canny邊緣檢測的實(shí)現(xiàn)

    OpenCV中Canny邊緣檢測的實(shí)現(xiàn)

    本文主要介紹了OpenCV中Canny邊緣檢測的實(shí)現(xiàn),邊緣檢測一般是識別目標(biāo)圖像中亮度變化明顯的像素點(diǎn),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • pandas pd.read_csv()函數(shù)中parse_dates()參數(shù)的用法說明

    pandas pd.read_csv()函數(shù)中parse_dates()參數(shù)的用法說明

    這篇文章主要介紹了pandas pd.read_csv()函數(shù)中parse_dates()參數(shù)的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • YOLOv5目標(biāo)檢測之a(chǎn)nchor設(shè)定

    YOLOv5目標(biāo)檢測之a(chǎn)nchor設(shè)定

    在訓(xùn)練yolo網(wǎng)絡(luò)檢測目標(biāo)時,需要根據(jù)待檢測目標(biāo)的位置大小分布情況對anchor進(jìn)行調(diào)整,使其檢測效果盡可能提高,下面這篇文章主要給大家介紹了關(guān)于YOLOv5目標(biāo)檢測之a(chǎn)nchor設(shè)定的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • 使用matlab或python將txt文件轉(zhuǎn)為excel表格

    使用matlab或python將txt文件轉(zhuǎn)為excel表格

    這篇文章主要介紹了matlab或python代碼將txt文件轉(zhuǎn)為excel表格,本文通過matlab代碼和python 代碼給大家詳細(xì)介紹,需要的朋友可以參考下
    2019-11-11
  • python中input()的用法及擴(kuò)展

    python中input()的用法及擴(kuò)展

    這篇文章主要介紹了python中input()的用法及擴(kuò)展,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python學(xué)習(xí)工具jupyter notebook安裝及用法解析

    Python學(xué)習(xí)工具jupyter notebook安裝及用法解析

    這篇文章主要介紹了Python學(xué)習(xí)工具jupyter notebook安裝及用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • 淺析Python 簡單工廠模式和工廠方法模式的優(yōu)缺點(diǎn)

    淺析Python 簡單工廠模式和工廠方法模式的優(yōu)缺點(diǎn)

    這篇文章主要介紹了Python 工廠模式的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • python程序封裝為win32服務(wù)的方法

    python程序封裝為win32服務(wù)的方法

    這篇文章主要為大家詳細(xì)介紹了python程序封裝為win32服務(wù)的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • python3 對list中每個元素進(jìn)行處理的方法

    python3 對list中每個元素進(jìn)行處理的方法

    今天小編就為大家分享一篇python3 對list中每個元素進(jìn)行處理的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06

最新評論