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

一文帶你深入了解Python中的數(shù)據(jù)清洗

 更新時(shí)間:2023年03月27日 14:49:50   作者:胖子是個(gè)潛力股  
數(shù)據(jù)清洗一般包括:空值,異常值,重復(fù)值,類型轉(zhuǎn)換和數(shù)據(jù)整合這些操作,這篇文章將通過一些示例為大家詳細(xì)講講Python中數(shù)據(jù)清洗的操作的實(shí)現(xiàn),需要的可以參考一下

這里數(shù)據(jù)清洗需要用到的庫是pandas庫,下載方式還是在終端運(yùn)行 : pip install pandas.

首先我們需要對數(shù)據(jù)進(jìn)行讀取

import pandas as pd
 
data = pd.read_csv(r'E:\PYthon\用戶價(jià)值分析 RFM模型\data.csv')
pd.set_option('display.max_columns', 888)  # 大于總列數(shù)
pd.set_option('display.width', 1000)
print(data.head())
print(data.info())

第3行是對數(shù)據(jù)進(jìn)行讀取,pandas庫里面有讀取函數(shù)調(diào)用即可,csv格式是讀取寫入速度最快的。

第4,5行是為了讀取的實(shí)話顯示全部的列,是因?yàn)楹芏嗔械脑抪ycharm會(huì)把中間一些列隱藏掉,所以我們這為了他不隱藏就加這兩行代碼。

第6行是顯示表頭,我們可以看到有什么字段,列名

第7行是顯示表的基本信息,每一列有多少數(shù)據(jù),字段是什么類型的數(shù)據(jù)。非空的數(shù)據(jù)有多少,所以我們第一步就可以看得到基本那一列有空值了。

空值處理

data.info()后我們可以看到大部分?jǐn)?shù)據(jù)都有541909行,所以我們大致猜到是Description ,CustomerID 列漏結(jié)果了

# 空值處理
print(data.isnull().sum())  # 空值中和,查看每一列的空值
 
# 空值刪除
data.drop(columns=['Description'], inplace=True)
print(data.info())
data.isnull()判斷是否為空。data.isnumll().sum()計(jì)算空值數(shù)量。

第5行進(jìn)行空值刪除,這里先刪除Description列的空值,inplace=True意思是對數(shù)據(jù)進(jìn)行修改,如果沒有inplace=True,則不對data進(jìn)行修改,打印數(shù)據(jù)還是和之前一樣,或者重新定義一個(gè)變量進(jìn)行賦值。

由于這一列空值數(shù)據(jù)比較少,這一列數(shù)據(jù)對我們數(shù)據(jù)分析沒有那么重要,所以我們選擇刪除這一整列。

我們這個(gè)表是對客戶進(jìn)行篩選的,所以以CustomerID為準(zhǔn),強(qiáng)制刪除其他列

# CustomerID有空值
# 刪除所有列的空值
data.dropna(inplace=True)
# print(data.info())
print(data.isnull().sum())  # 由于CustomerID為必須字段,所以強(qiáng)制刪除其他列,以CustomerID為準(zhǔn)

這里我們先對其他字段進(jìn)行類型轉(zhuǎn)換

類型轉(zhuǎn)換

# 轉(zhuǎn)換為日期類型
data['InvoiceDate'] = pd.to_datetime(data['InvoiceDate'])
 
# CustomerID 轉(zhuǎn)換為整型
data['CustomerID'] = data['CustomerID'].astype('int')
print(data.info())

以上我們處理了空值,接下來我們處理異常值。

異常值處理

查看表的基本數(shù)據(jù)分布可以使用describe

print(data.describe())

可以看到數(shù)據(jù)Quantity 列中最小值為-80995.這列明顯有異常值,所以需要對這一列進(jìn)行異常值篩選。

只需要大于0的值。

data = data[data['Quantity'] > 0]
print(data)

打印一下就只有397924行了。

重復(fù)值處理

# 查看重復(fù)值
print(data[data.duplicated()])

有5194行重復(fù)值,這里的重復(fù)值是完全重復(fù)的,所以是沒用的數(shù)據(jù)我們可以進(jìn)行刪除。

刪除重復(fù)值

# 刪除重復(fù)值
data.drop_duplicates(inplace=True)
 
print(data.info())

刪除后對原來的表進(jìn)行保存,再去查看一下表的基本信息

現(xiàn)在還剩下392730條數(shù)據(jù)。數(shù)據(jù)到這一步就完成了數(shù)據(jù)清洗??罩担惓V?,重復(fù)值,類型轉(zhuǎn)換。后面一篇文章是對數(shù)據(jù)進(jìn)行分析。

到此這篇關(guān)于一文帶你深入了解Python中的數(shù)據(jù)清洗的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)清洗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python全局變量與局部變量區(qū)別及用法分析

    Python全局變量與局部變量區(qū)別及用法分析

    這篇文章主要介紹了Python全局變量與局部變量區(qū)別及用法,結(jié)合實(shí)例形式分析了Python全局變量與局部變量的定義、常見用法、區(qū)別及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-09-09
  • Python多個(gè)MP4合成視頻的實(shí)現(xiàn)方法

    Python多個(gè)MP4合成視頻的實(shí)現(xiàn)方法

    最近接觸了個(gè)項(xiàng)目,需要把多個(gè)文件合成一個(gè)視頻,本文主要使用Python把多個(gè)MP4合成視頻,感興趣的可以了解一下
    2021-07-07
  • Python中JSON常見用法(json.load()、json.loads()、json.dump()、json.dumps())

    Python中JSON常見用法(json.load()、json.loads()、json.dump()、json.du

    本文主要介紹了Python中JSON常見用法(json.load()、json.loads()、json.dump()、json.dumps()),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 基于torch.where和布爾索引的速度比較

    基于torch.where和布爾索引的速度比較

    今天小編就為大家分享一篇基于torch.where和布爾索引的速度比較,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 新手如何快速入門Python(菜鳥必看篇)

    新手如何快速入門Python(菜鳥必看篇)

    下面小編就為大家?guī)硪黄率秩绾慰焖偃腴TPython(菜鳥必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • Python繪畫好看的星空圖

    Python繪畫好看的星空圖

    這篇文章主要介紹了Python繪畫好看的星空圖,文章內(nèi)容介紹詳細(xì),具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-03-03
  • Python獲取當(dāng)前時(shí)間日期的方法總結(jié)

    Python獲取當(dāng)前時(shí)間日期的方法總結(jié)

    在Python編程中,獲取當(dāng)前的日期和時(shí)間是一個(gè)常見的需求,它在許多應(yīng)用中都有重要作用,本文為大家詳細(xì)整理了一些Python中的常用方法,希望對大家有所幫助
    2024-01-01
  • Python中property函數(shù)用法實(shí)例分析

    Python中property函數(shù)用法實(shí)例分析

    這篇文章主要介紹了Python中property函數(shù)用法,結(jié)合實(shí)例形式分析了property函數(shù)的功能、參數(shù)、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-06-06
  • python進(jìn)行debug操作實(shí)戰(zhàn)訓(xùn)練

    python進(jìn)行debug操作實(shí)戰(zhàn)訓(xùn)練

    debug是編碼是非常重要的調(diào)試技巧,通過在運(yùn)行過程中設(shè)置斷點(diǎn),幫助開發(fā)人員更好的理解運(yùn)行過程,下面這篇文章主要給大家介紹了關(guān)于python進(jìn)行debug操作的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • Python爬蟲基于lxml解決數(shù)據(jù)編碼亂碼問題

    Python爬蟲基于lxml解決數(shù)據(jù)編碼亂碼問題

    這篇文章主要介紹了Python爬蟲基于lxml解決數(shù)據(jù)編碼亂碼問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評論