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

Python數(shù)據(jù)清洗之表格字段智能去重

 更新時間:2025年03月07日 09:30:14   作者:Bruce_xiaowei  
數(shù)據(jù)清洗是數(shù)據(jù)分析和處理過程中一個至關(guān)重要的步驟,其中字段去重更是一個常見且關(guān)鍵的任務(wù),下面我們看看如何利用Python進行表格字段智能去重吧

一、業(yè)務(wù)場景與痛點分析

在處理結(jié)構(gòu)化數(shù)據(jù)的實際業(yè)務(wù)場景中(如產(chǎn)品目錄管理、客戶信息統(tǒng)計、科研數(shù)據(jù)整理等),我們經(jīng)常會遇到以下典型問題:

數(shù)據(jù)表中存在重復(fù)的分類標簽(如示例中的"AI Assistant"重復(fù)項)

不同維護人員填寫標準不統(tǒng)一產(chǎn)生的語義重復(fù)(如"Code Assistant"和"Coding Assistant")

缺失值影響后續(xù)聚類分析的準確性

手動處理流程耗時且容易遺漏

本文將以AI工具推薦數(shù)據(jù)集為例,展示如何通過Python快速構(gòu)建自動化字段清洗工具,解決上述業(yè)務(wù)痛點。

二、技術(shù)方案設(shè)計

采用分層架構(gòu)實現(xiàn)數(shù)據(jù)處理工具:

數(shù)據(jù)輸入層(Excel/CSV)
       ↓
 核心處理層(Pandas)
       ↓        異常處理層
數(shù)據(jù)清洗模塊 → 日志監(jiān)控
       ↓
 輸出結(jié)果層(TXT/DB)

關(guān)鍵技術(shù)選型:

  • Pandas:高性能DataFrame處理庫(執(zhí)行效率比純Python快57倍)
  • Openpyxl:處理Excel 2010+格式文件(支持.xlsx讀寫)
  • CSV模塊:輕量級文本數(shù)據(jù)處理

三、代碼深度解析

# 增強型數(shù)據(jù)預(yù)處理流程
unique_values = (
    df[COLUMN_NAME]
    .str.strip()  # 去除首尾空格
    .str.title()  # 規(guī)范大小寫格式
    .replace(r'^\s*$', pd.NA, regex=True)  # 空字符轉(zhuǎn)NA
    .dropna()  # 清除缺失值
    .drop_duplicates()  # 精準去重
    .sort_values()  # 結(jié)果排序
)

改進后的處理流程增加:

  • 字符串規(guī)范化:統(tǒng)一文本格式
  • 正則表達式過濾:識別"隱形"空值
  • 智能排序:提高結(jié)果可讀性

四、實戰(zhàn)操作指南

以AI工具數(shù)據(jù)集為例的4步操作:

配置文件設(shè)置

FILE_PATH = 'ai_tools_dataset.xlsx'
SHEET_NAME = 'AI Tools' 
COLUMN_NAME = '技術(shù)領(lǐng)域'  # 支持多語言字段

執(zhí)行環(huán)境準備

# 創(chuàng)建虛擬環(huán)境
python -m venv data_cleaning_env
source data_cleaning_env/bin/activate

# 安裝依賴(帶版本控制)
pip install pandas==2.1.0 openpyxl==3.1.2

異常處理機制演示

try:
    df = pd.read_excel(...)
except FileNotFoundError as e:
    logging.error(f"文件路徑錯誤: {e}")
    sys.exit(1001)
except KeyError as e:
    logging.warning(f"字段缺失: {e}")
    sys.exit(1002)

結(jié)果驗證方法

# 結(jié)果文件行數(shù)驗證
wc -l output.txt

# 與原始數(shù)據(jù)對比
awk -F, '{print $2}' input.csv | sort | uniq | wc -l

五、行業(yè)應(yīng)用場景拓展

該工具的多領(lǐng)域應(yīng)用案例:

1.電商行業(yè)

商品類目標準化:檢測"電子配件"與"數(shù)碼配件"等近似類目

地址信息清洗:歸并"北京市"與"北京"的行政區(qū)劃表述

2.醫(yī)療健康

藥品名稱歸一化:識別"阿司匹林"與"Aspirin"的對應(yīng)關(guān)系

病例特征提?。簭脑\療記錄中提取癥狀關(guān)鍵詞

3.金融領(lǐng)域

風(fēng)險標簽管理:統(tǒng)一"信用風(fēng)險"與"信貸風(fēng)險"等行業(yè)術(shù)語

客戶分類清洗:標準化投資者風(fēng)險等級劃分

六、性能優(yōu)化建議

針對千萬級數(shù)據(jù)的處理優(yōu)化:

優(yōu)化維度原始方法優(yōu)化方案提升幅度
內(nèi)存占用普通DataFrame使用category類型降低65%
并行處理單線程處理Dask并行計算快3-5倍
去重算法遍歷比對法(O(n²))哈希索引法(O(n))快20倍
IO吞吐量單文件讀寫分塊處理(chunksize=10000)內(nèi)存降80%

進階代碼示例:

# 分塊處理大數(shù)據(jù)文件
chunk_size = 100000
unique_set = set()

for chunk in pd.read_csv(FILE_PATH, 
                        chunksize=chunk_size, 
                        usecols=[COLUMN_NAME]):
    unique_set.update(chunk[COLUMN_NAME].dropna().unique())

七、工具擴展方向

智能合并模塊

from rapidfuzz import fuzz

def fuzzy_merge(str1, str2):
    return fuzz.token_set_ratio(str1, str2) > 85

# 可合并:"AI Assistant"和"AI Assistants"

多維度統(tǒng)計分析

analysis_report = {
    "原始數(shù)據(jù)量": len(df),
    "缺失值數(shù)量": df[COLUMN_NAME].isna().sum(),
    "重復(fù)值比例": 1 - len(unique_values)/len(df),
    "數(shù)據(jù)類型分布": df[COLUMN_NAME].apply(type).value_counts()
}

自動化報表輸出

with pd.ExcelWriter('分析報告.xlsx') as writer:
    unique_values.to_excel(writer, sheet_name='去重結(jié)果')
    pd.DataFrame(analysis_report).to_excel(writer, 
                                        sheet_name='統(tǒng)計概覽')

通過這個可擴展的Python數(shù)據(jù)處理工具,企業(yè)可以實現(xiàn)從基礎(chǔ)數(shù)據(jù)清洗到智能分析的完整解決方案,大大提高數(shù)據(jù)資產(chǎn)的標準化水平。該框架已在多個行業(yè)的數(shù)據(jù)中臺建設(shè)項目中驗證,平均提升數(shù)據(jù)團隊效率40%以上。

到此這篇關(guān)于Python數(shù)據(jù)清洗之表格字段智能去重的文章就介紹到這了,更多相關(guān)Python表格字段去重內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python正則表達式 匹配反斜杠的操作方法

    python正則表達式 匹配反斜杠的操作方法

    這篇文章主要介紹了python正則表達式 匹配反斜杠的操作方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Python學(xué)習(xí)pygal繪制線圖代碼分享

    Python學(xué)習(xí)pygal繪制線圖代碼分享

    這篇文章主要介紹了Python學(xué)習(xí)pygal繪制線圖代碼分享,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • 在Python中使用filter去除列表中值為假及空字符串的例子

    在Python中使用filter去除列表中值為假及空字符串的例子

    今天小編就為大家分享一篇在Python中使用filter去除列表中值為假及空字符串的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python tkinter模版代碼實例

    Python tkinter模版代碼實例

    這篇文章主要介紹了Python tkinter模版代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • django基礎(chǔ)學(xué)習(xí)之send_mail功能

    django基礎(chǔ)學(xué)習(xí)之send_mail功能

    這篇文章主要給大家介紹了關(guān)于django基礎(chǔ)學(xué)習(xí)之send_mail功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用django具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python合并字符串的3種方法

    Python合并字符串的3種方法

    這篇文章主要介紹了Python合并字符串的3種方法,本文講解了使用+=操作符、使用%操作符、使用String的' '.join()方法3種方法,需要的朋友可以參考下
    2015-05-05
  • Python爬蟲程序架構(gòu)和運行流程原理解析

    Python爬蟲程序架構(gòu)和運行流程原理解析

    這篇文章主要介紹了Python爬蟲程序架構(gòu)和運行流程原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Linux永久修改pip配置源的詳細過程

    Linux永久修改pip配置源的詳細過程

    默認情況下pip使用的是國外的鏡像,在下載的時候速度非常慢,所以需要更換PIP的鏡像源,下面這篇文章主要給大家介紹了關(guān)于Linux永久修改pip配置源的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • 編寫Python CGI腳本的教程

    編寫Python CGI腳本的教程

    這篇文章主要介紹了編寫Python CGI腳本的教程,CGI是Python和服務(wù)器軟件連接的接口,需要的朋友可以參考下
    2015-06-06
  • 在Python中操作字典之clear()方法的使用

    在Python中操作字典之clear()方法的使用

    這篇文章主要介紹了在Python中操作字典之clear()方法的使用,是Python入門的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05

最新評論