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

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

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

一、業(yè)務(wù)場(chǎng)景與痛點(diǎn)分析

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

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

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

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

手動(dòng)處理流程耗時(shí)且容易遺漏

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

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

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

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

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

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

三、代碼深度解析

# 增強(qiáng)型數(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()  # 精準(zhǔn)去重
    .sort_values()  # 結(jié)果排序
)

改進(jìn)后的處理流程增加:

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

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

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

配置文件設(shè)置

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

執(zhí)行環(huán)境準(zhǔ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

異常處理機(jī)制演示

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

結(jié)果驗(yàn)證方法

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

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

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

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

1.電商行業(yè)

商品類目標(biāo)準(zhǔn)化:檢測(cè)"電子配件"與"數(shù)碼配件"等近似類目

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

2.醫(yī)療健康

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

病例特征提取:從診療記錄中提取癥狀關(guān)鍵詞

3.金融領(lǐng)域

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

客戶分類清洗:標(biāo)準(zhǔn)化投資者風(fēng)險(xiǎn)等級(jí)劃分

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

針對(duì)千萬(wàn)級(jí)數(shù)據(jù)的處理優(yōu)化:

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

進(jìn)階代碼示例:

# 分塊處理大數(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())

七、工具擴(kuò)展方向

智能合并模塊

from rapidfuzz import fuzz

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

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

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

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()
}

自動(dòng)化報(bào)表輸出

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

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

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

相關(guān)文章

  • pandas DataFrame rsub的實(shí)現(xiàn)示例

    pandas DataFrame rsub的實(shí)現(xiàn)示例

    本文主要介紹了pandas DataFrame rsub的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • 淺談Python3中datetime不同時(shí)區(qū)轉(zhuǎn)換介紹與踩坑

    淺談Python3中datetime不同時(shí)區(qū)轉(zhuǎn)換介紹與踩坑

    最近的項(xiàng)目需要根據(jù)用戶所屬時(shí)區(qū)制定一些特定策略,學(xué)習(xí)、應(yīng)用了若干python3的時(shí)區(qū)轉(zhuǎn)換相關(guān)知識(shí),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Python中的深拷貝和淺拷貝詳解

    Python中的深拷貝和淺拷貝詳解

    這篇文章主要介紹了Python中的深拷貝和淺拷貝詳解,本文講解了變量-對(duì)象-引用、可變對(duì)象-不可變對(duì)象、拷貝等內(nèi)容,需要的朋友可以參考下
    2015-06-06
  • Python?Bleach保障網(wǎng)絡(luò)安全防止網(wǎng)站受到XSS(跨站腳本)攻擊

    Python?Bleach保障網(wǎng)絡(luò)安全防止網(wǎng)站受到XSS(跨站腳本)攻擊

    Bleach?不僅可以清理?HTML?文檔,還能夠?qū)︽溄舆M(jìn)行處理,檢查是否是合法格式,并可以使用白名單來(lái)控制哪些?HTML?標(biāo)簽、屬性是安全的,因此非常適合用于清潔用戶輸入的數(shù)據(jù),確保網(wǎng)站安全
    2024-01-01
  • python目錄操作之python遍歷文件夾后將結(jié)果存儲(chǔ)為xml

    python目錄操作之python遍歷文件夾后將結(jié)果存儲(chǔ)為xml

    需求是獲取服務(wù)器某個(gè)目錄下的某些類型的文件,考慮到服務(wù)器即有Linux、又有Windows,所以寫了一個(gè)Python小程序來(lái)完成這項(xiàng)工作,大家參考使用吧
    2014-01-01
  • 在Django的視圖(View)外使用Session的方法

    在Django的視圖(View)外使用Session的方法

    這篇文章主要介紹了在Django的視圖(View)外使用Session的方法,Django是最具人氣的Python web開發(fā)框架,需要的朋友可以參考下
    2015-07-07
  • django drf框架自帶的路由及最簡(jiǎn)化的視圖

    django drf框架自帶的路由及最簡(jiǎn)化的視圖

    這篇文章主要介紹了django-drf框架自帶的路由以及最簡(jiǎn)化的視圖,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python聚類算法之凝聚層次聚類實(shí)例分析

    Python聚類算法之凝聚層次聚類實(shí)例分析

    這篇文章主要介紹了Python聚類算法之凝聚層次聚類的原理與具體使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • python?open函數(shù)中newline參數(shù)實(shí)例詳解

    python?open函數(shù)中newline參數(shù)實(shí)例詳解

    newLine()方法可用于輸出一個(gè)換行字符"/n",下面這篇文章主要給大家介紹了關(guān)于python?open函數(shù)中newline參數(shù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • Python字符串類型及格式化問(wèn)題

    Python字符串類型及格式化問(wèn)題

    這篇文章主要介紹了Python字符串類型及格式化問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評(píng)論