亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python pandas進(jìn)行數(shù)據(jù)預(yù)處理的實(shí)現(xiàn)

 更新時(shí)間:2025年01月05日 10:46:19   作者:大數(shù)據(jù)張老師  
本案例通過使用pandas庫對電子商務(wù)客戶數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理,包括數(shù)據(jù)導(dǎo)入、查看、缺失值處理等處理,具有一定的參考價(jià)值,感興趣的可以了解一下

案例:電子商務(wù)客戶數(shù)據(jù)的預(yù)處理

本案例將通過使用pandas庫對電子商務(wù)客戶數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理。數(shù)據(jù)預(yù)處理是進(jìn)行有效數(shù)據(jù)分析的重要步驟,目的是將數(shù)據(jù)處理為適合分析的狀態(tài)。本案例分為幾個(gè)步驟來逐步演示如何進(jìn)行數(shù)據(jù)導(dǎo)入、查看數(shù)據(jù)集信息、處理缺失值、數(shù)據(jù)格式轉(zhuǎn)換、重復(fù)值刪除、數(shù)據(jù)標(biāo)準(zhǔn)化以及數(shù)據(jù)導(dǎo)出。

測試數(shù)據(jù)

以下是我們將要處理的測試數(shù)據(jù),以電子商務(wù)客戶訂單為例:

CustomerIDOrderDateProductQuantityPrice
C0012024-01-10智能手機(jī)2500.00
C0022024-01-12筆記本電腦11200.00
C003NaN耳機(jī)350.00
C0012024-01-15平板電腦1300.00
C0042024-01-18筆記本電腦11200.00
C0052024-01-20智能手機(jī)2NaN
C0012024-01-15平板電腦1300.00
C0062024-01-22耳機(jī)2100.00
C0072024-01-25智能手表1200.00
C0082024-01-28平板電腦3900.00
C0092024-01-30筆記本電腦11500.00
C0102024-02-01智能手機(jī)42000.00
C0112024-02-05耳機(jī)5250.00
C0122024-02-08平板電腦1300.00
C0132024-02-10智能手表2400.00
C0142024-02-12筆記本電腦22400.00
C0152024-02-15智能手機(jī)11000.00
C0162024-02-18平板電腦2600.00
C0172024-02-20智能手表3600.00
C0182024-02-22耳機(jī)150.00
C0192024-02-25智能手機(jī)21200.00
C0202024-02-28筆記本電腦11300.00

步驟1:數(shù)據(jù)導(dǎo)入

首先,使用pandas導(dǎo)入CSV文件并加載數(shù)據(jù)。

import pandas as pd

# 導(dǎo)入CSV文件
df = pd.read_csv('ecommerce_customers.csv')

解析:首先導(dǎo)入pandas庫,pd.read_csv()方法用于加載CSV文件,并將其存儲(chǔ)在名為df的數(shù)據(jù)框中。

步驟2:查看數(shù)據(jù)集基本信息

使用pandas的各種方法來查看數(shù)據(jù)的結(jié)構(gòu)和內(nèi)容,以便對數(shù)據(jù)有初步的了解。

# 查看數(shù)據(jù)的前幾行
print(df.head())

# 查看數(shù)據(jù)類型和列信息
print(df.info())

# 數(shù)值列的簡單統(tǒng)計(jì)分析
print(df.describe())

解析

df.head():查看數(shù)據(jù)的前幾行,幫助快速了解數(shù)據(jù)的基本結(jié)構(gòu)。

運(yùn)行結(jié)果

   CustomerID   OrderDate Product  Quantity   Price
0       C001  2024-01-10    智能手機(jī)         2   500.0
1       C002  2024-01-12   筆記本電腦         1  1200.0
2       C003         NaN      耳機(jī)         3    50.0
3       C001  2024-01-15    平板電腦         1   300.0
4       C004  2024-01-18   筆記本電腦         1  1200.0

通過head()方法,我們可以快速查看數(shù)據(jù)的前5行,了解數(shù)據(jù)的大致內(nèi)容。

df.info():顯示數(shù)據(jù)集的列、非空值數(shù)量和數(shù)據(jù)類型,幫助了解數(shù)據(jù)集的整體情況。

運(yùn)行結(jié)果

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 20 entries, 0 to 19
Data columns (total 5 columns):
 #   Column     Non-Null Count  Dtype  
---  ------     --------------  -----  
 0   CustomerID  20 non-null     object 
 1   OrderDate   19 non-null     object 
 2   Product     20 non-null     object 
 3   Quantity    20 non-null     int64  
 4   Price       19 non-null     float64
dtypes: float64(1), int64(1), object(3)
memory usage: 928.0+ bytes

通過info()方法,我們可以看到數(shù)據(jù)集中每一列的名稱、數(shù)據(jù)類型,以及非空值的數(shù)量,這對于后續(xù)判斷是否有缺失值非常有幫助。

df.describe():對數(shù)值列進(jìn)行統(tǒng)計(jì)分析,提供如均值、標(biāo)準(zhǔn)差等信息。

運(yùn)行結(jié)果

        Quantity        Price
count  20.000000    19.000000  
mean    2.000000   810.526316  
std     1.055597   714.053229
min     1.000000    50.000000
25%     1.000000   300.000000
50%     2.000000  1000.000000
75%     3.000000  1200.000000
max     5.000000  2400.000000

通過describe()方法,我們可以看到數(shù)值列(如QuantityPrice)的統(tǒng)計(jì)信息,如均值、中位數(shù)、標(biāo)準(zhǔn)差等,這對于數(shù)據(jù)的分布和特征分析非常重要。

`count` 表示數(shù)據(jù)集中非空值的數(shù)量。對于 `Quantity` 列,所有 20 個(gè)值都是非空的;而對于 `Price` 列,只有 19 個(gè)非空值,說明有一個(gè)缺失值。

`mean` 表示列的平均值。`Quantity` 列的平均購買量是 2;`Price` 列的平均價(jià)格是 810.53。步驟3:處理缺失值。

`min` 表示列中的最小值。`Quantity` 列的最小購買量是 1;`Price` 列的最低價(jià)格是 50。

`25%` 表示第一四分位數(shù),即 25% 的數(shù)據(jù)點(diǎn)小于或等于這個(gè)值。對于 `Quantity` 列,第一四分位數(shù)是 1;對于 `Price` 列,這個(gè)值是 300。

`50%` 表示中位數(shù),即 50% 的數(shù)據(jù)點(diǎn)小于或等于這個(gè)值。`Quantity` 列的中位數(shù)為 2;`Price` 列的中位數(shù)為 1000。

`75%` 表示第三四分位數(shù),即 75% 的數(shù)據(jù)點(diǎn)小于或等于這個(gè)值。`Quantity` 列的第三四分位數(shù)是 3;`Price` 列的第三四分位數(shù)是 1200。

`max` 表示列中的最大值。`Quantity` 列的最大購買量是 5;`Price` 列的最高價(jià)格是 2400。

處理數(shù)據(jù)中的缺失值。在本案例中,OrderDatePrice列中存在缺失值。

# 查看缺失值
def missing_values(df):
    return df.isnull().sum()

print(missing_values(df))

# 填充缺失的價(jià)格列,以平均值替代
df['Price'].fillna(df['Price'].mean(), inplace=True)

# 填充缺失的訂單日期,以特定日期替代
df['OrderDate'].fillna('2024-01-01', inplace=True)

解析

  • df.isnull().sum():統(tǒng)計(jì)每一列的缺失值數(shù)量,幫助識(shí)別數(shù)據(jù)中的空缺項(xiàng)。
  • df['Price'].fillna(df['Price'].mean(), inplace=True):使用均值填充Price列的缺失值,確保數(shù)據(jù)的完整性。inplace=True 是一個(gè)參數(shù),用于指定操作是否在原數(shù)據(jù)框上進(jìn)行修改。設(shè)置 inplace=True 后,操作會(huì)直接對原數(shù)據(jù)框進(jìn)行更改,而不會(huì)返回一個(gè)新的數(shù)據(jù)框。這有助于節(jié)省內(nèi)存,但需要謹(jǐn)慎使用,因?yàn)閿?shù)據(jù)的修改是不可逆的。
  • df['OrderDate'].fillna('2024-01-01', inplace=True):將OrderDate列的缺失值填充為默認(rèn)日期2024-01-01。

步驟4:數(shù)據(jù)格式轉(zhuǎn)換

OrderDate列從字符串轉(zhuǎn)換為日期類型,以便后續(xù)進(jìn)行時(shí)間序列分析。

# 將OrderDate轉(zhuǎn)換為日期類型
df['OrderDate'] = pd.to_datetime(df['OrderDate'])

解析pd.to_datetime(df['OrderDate'])OrderDate列轉(zhuǎn)換為日期時(shí)間格式,這樣可以方便后續(xù)的日期相關(guān)分析,例如排序或時(shí)間序列分析。

步驟5:處理重復(fù)值

查找并刪除數(shù)據(jù)集中的重復(fù)值,以保證數(shù)據(jù)的準(zhǔn)確性。

# 查找重復(fù)的行
duplicates = df[df.duplicated()]
print(duplicates)

# 刪除重復(fù)的行
df.drop_duplicates(inplace=True)

解析

  • df.duplicated():標(biāo)記數(shù)據(jù)集中重復(fù)的行。
  • df.drop_duplicates(inplace=True):刪除所有重復(fù)的行,確保數(shù)據(jù)集不包含重復(fù)記錄,從而提高分析結(jié)果的準(zhǔn)確性。

步驟6:數(shù)據(jù)標(biāo)準(zhǔn)化

Price列進(jìn)行標(biāo)準(zhǔn)化,以便后續(xù)的分析和建模。

from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler()
df['Price'] = scaler.fit_transform(df[['Price']])

解析

  • 導(dǎo)入MinMaxScaler用于對數(shù)據(jù)進(jìn)行縮放。
  • scaler.fit_transform(df[['Price']])Price列的值縮放到0到1之間,標(biāo)準(zhǔn)化后的數(shù)據(jù)更適合用于機(jī)器學(xué)習(xí)模型。

步驟7:保存預(yù)處理后的數(shù)據(jù)

最后,將預(yù)處理后的數(shù)據(jù)保存為一個(gè)新的CSV文件,以供后續(xù)分析使用。

# 導(dǎo)出為新文件
df.to_csv('ecommerce_customers_cleaned.csv', index=False)

解析df.to_csv()方法將處理過的數(shù)據(jù)保存為新的CSV文件,index=False表示不保存索引列。

總結(jié)

通過上述步驟,我們已經(jīng)對電子商務(wù)客戶數(shù)據(jù)集進(jìn)行了數(shù)據(jù)預(yù)處理,涵蓋了數(shù)據(jù)的導(dǎo)入、查看、缺失值處理、數(shù)據(jù)格式轉(zhuǎn)換、重復(fù)值刪除、數(shù)據(jù)標(biāo)準(zhǔn)化以及數(shù)據(jù)導(dǎo)出。通過這個(gè)案例,學(xué)生可以理解數(shù)據(jù)預(yù)處理的關(guān)鍵步驟和技巧,為后續(xù)的數(shù)據(jù)分析和建模做好準(zhǔn)備。

到此這篇關(guān)于Python pandas進(jìn)行數(shù)據(jù)預(yù)處理的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)pandas數(shù)據(jù)預(yù)處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python使用reportlab模塊生成PDF格式的文檔

    Python使用reportlab模塊生成PDF格式的文檔

    今天小編就為大家分享一篇關(guān)于Python使用reportlab模塊生成PDF格式的文檔,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • python如何讀取100G的大文件實(shí)例探究

    python如何讀取100G的大文件實(shí)例探究

    這篇文章主要為大家介紹了python如何讀取100G的大文件實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • python格式化字符串實(shí)例總結(jié)

    python格式化字符串實(shí)例總結(jié)

    這篇文章主要介紹了python格式化字符串的方法,實(shí)例展示了常見的幾類Python針對字符串的格式方法,非常實(shí)用,需要的朋友可以參考下
    2014-09-09
  • python實(shí)現(xiàn)照片集變成視頻的代碼實(shí)現(xiàn)

    python實(shí)現(xiàn)照片集變成視頻的代碼實(shí)現(xiàn)

    看著電腦里亂七八糟的照片,有大有小,寬高不一,突然想找個(gè)方式把他們統(tǒng)一起來,然后做成視頻更好,所以本文給大家介紹了python實(shí)現(xiàn)照片集變成視頻的實(shí)現(xiàn),需要的朋友可以參考下
    2024-10-10
  • 淺談五大Python Web框架

    淺談五大Python Web框架

    Python這么多框架,能挨個(gè)玩?zhèn)€遍的人不多,坦白的說我也只用過其中的三個(gè)開發(fā)過項(xiàng)目,另外一些稍微接觸過,所以這里只能淺談一下,歡迎懂行的朋友們補(bǔ)充
    2017-03-03
  • Python身份驗(yàn)證第三方庫(7個(gè))

    Python身份驗(yàn)證第三方庫(7個(gè))

    身份驗(yàn)證在很多項(xiàng)目上都可以用到,本文主要介紹了Python身份驗(yàn)證第三方庫(7個(gè)),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • python用線性回歸預(yù)測股票價(jià)格的實(shí)現(xiàn)代碼

    python用線性回歸預(yù)測股票價(jià)格的實(shí)現(xiàn)代碼

    這篇文章主要介紹了python用線性回歸預(yù)測股票價(jià)格的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • python用Pygal如何生成漂亮的SVG圖像詳解

    python用Pygal如何生成漂亮的SVG圖像詳解

    本篇文章講述python如何用 Pygal 來生成漂亮的 SVG 圖表,并能夠利用 Python 中的 Flask 框架來顯示你的 SVG 圖像,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • 利用pyuic5將ui文件轉(zhuǎn)換為py文件的方法

    利用pyuic5將ui文件轉(zhuǎn)換為py文件的方法

    今天小編就為大家分享一篇利用pyuic5將ui文件轉(zhuǎn)換為py文件的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • 淺析Python中的變量賦值與多重賦值

    淺析Python中的變量賦值與多重賦值

    在?Python?中,變量賦值是編程中常見的操作之一,本文將深入探討?Python?中的變量賦值和多重賦值,包括其基本語法、特性、應(yīng)用場景以及示例代碼,需要的可以參考下
    2024-03-03

最新評論