Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用電子活頁(yè)4-21網(wǎng)上商城用戶(hù)消費(fèi)數(shù)據(jù)導(dǎo)入與審閱_第1頁(yè)
Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用電子活頁(yè)4-21網(wǎng)上商城用戶(hù)消費(fèi)數(shù)據(jù)導(dǎo)入與審閱_第2頁(yè)
Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用電子活頁(yè)4-21網(wǎng)上商城用戶(hù)消費(fèi)數(shù)據(jù)導(dǎo)入與審閱_第3頁(yè)
Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用電子活頁(yè)4-21網(wǎng)上商城用戶(hù)消費(fèi)數(shù)據(jù)導(dǎo)入與審閱_第4頁(yè)
Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用電子活頁(yè)4-21網(wǎng)上商城用戶(hù)消費(fèi)數(shù)據(jù)導(dǎo)入與審閱_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用模塊電子活頁(yè)4-21網(wǎng)上商城用戶(hù)消費(fèi)數(shù)據(jù)導(dǎo)入與審閱【任務(wù)4-2】網(wǎng)上商城用戶(hù)消費(fèi)數(shù)據(jù)導(dǎo)入與審閱【任務(wù)描述】文件df_short.csv中共有55148行網(wǎng)上商城的用戶(hù)消費(fèi)數(shù)據(jù),該文件中共有7個(gè)有效列,其含義說(shuō)明如下。①(1)customer_id:用戶(hù)的編號(hào),區(qū)分不同用戶(hù)的唯一依據(jù),對(duì)于同一用戶(hù),customer_id的值相同。②product_id:商品的編號(hào),區(qū)分不同商品的唯一依據(jù),針對(duì)同一商品,product_id的值相同。③type:用戶(hù)行為類(lèi)型,其中1表示瀏覽行為、2表示評(píng)論行為、3表示購(gòu)買(mǎi)行為、4表示收藏行為、5表示加入購(gòu)物車(chē)行為。④brand:商品品牌名稱(chēng),例如華為、格力、小米等⑤category:商品類(lèi)別,也可以理解為商品細(xì)分類(lèi)型,例如手機(jī)、空調(diào)、電視機(jī)、數(shù)碼相機(jī)、糖果、咖啡、巧克力、防曬霜、T恤、外套、毛衣、運(yùn)動(dòng)鞋、珠寶配件等。⑥shop_category:商城店鋪類(lèi)別,也可以理解為商品大類(lèi),例如電子產(chǎn)品、服裝、家用電器、母嬰產(chǎn)品、食品、美容化妝產(chǎn)品、戶(hù)外運(yùn)動(dòng)產(chǎn)品、家具等。⑦date:日期。針對(duì)這些網(wǎng)上商城的用戶(hù)消費(fèi)數(shù)據(jù)進(jìn)行數(shù)據(jù)導(dǎo)入與審閱、數(shù)據(jù)預(yù)處理、數(shù)據(jù)統(tǒng)計(jì)與分析、數(shù)據(jù)可視化展示等操作,這些操作將分別在模塊4、模塊5、模塊6、模塊7分步實(shí)施。本任務(wù)主要完成網(wǎng)上商城用戶(hù)消費(fèi)數(shù)據(jù)的導(dǎo)入與審閱。【任務(wù)實(shí)現(xiàn)】在JupyterNotebook開(kāi)發(fā)環(huán)境中創(chuàng)建t4-02.ipynb,然后在單元格中編寫(xiě)代碼與輸出對(duì)應(yīng)的結(jié)果。1.導(dǎo)入模塊代碼如下:importpandasaspdimportnumpyasnpimportmatplotlib.pyplotaspltimportseabornassnsimportmatplotlib.gridspecasgridspecimportplotlyaspyimportplotly.graph_objsasgofromdatetimeimportdatetimeplt.rcParams['font.sans-serif']=['FangSong']sns.set(font='FangSong')2.導(dǎo)入數(shù)據(jù)代碼如下:#導(dǎo)入用戶(hù)消費(fèi)明細(xì)信息#data1=pd.read_csv(r".\data\df_short.csv",parse_dates=['date'])path=r'.\data\df_short.xlsx'data1=pd.read_excel(path,parse_dates=['date'],dtype={'customer_id':str,'product_id':str})df_short=data1.copy()#導(dǎo)入用戶(hù)消費(fèi)特征信息data2=pd.read_excel(r'.\data\JD_labels.xlsx',dtype={'customer_id':str})JD_labels=data2這里使用的是小規(guī)模的數(shù)據(jù)集(包含500萬(wàn)條記錄以下),而實(shí)際數(shù)據(jù)分析中使用的數(shù)據(jù)集的數(shù)據(jù)量通常很大,動(dòng)輒幾TB,pandas在讀取的時(shí)候往往會(huì)用到chunksize等參數(shù)(可以傳入大?。┓謮K讀取。3.審閱數(shù)據(jù)在成功導(dǎo)入數(shù)據(jù)以后,需要對(duì)數(shù)據(jù)進(jìn)行審閱,其目的是了解數(shù)據(jù)結(jié)構(gòu)、類(lèi)型、大小等情況,方便理解數(shù)據(jù)和為后續(xù)處理、分析奠定基礎(chǔ)。(1)查看數(shù)據(jù)集的基本信息數(shù)據(jù)集的基本信息包括維度、列名稱(chēng)、數(shù)據(jù)格式、所占空間等。代碼如下:df_()輸出結(jié)果:(2)查看數(shù)據(jù)集的部分?jǐn)?shù)據(jù)代碼如下:df_short.head()#查看前5行數(shù)據(jù)(默認(rèn)為前5行,可以在括號(hào)里指定行數(shù))輸出結(jié)果:代碼如下:df_short.tail()#查看后5行數(shù)據(jù)輸出結(jié)果:(3)查看數(shù)據(jù)集日期字段的統(tǒng)計(jì)信息代碼如下:#查看日期字段的統(tǒng)計(jì)信息df_short['date'].describe(datetime_is_numeric=True)輸出結(jié)果:(4)查看日期字段的部分值與日期和時(shí)間范圍查看日期字段的部分值的代碼如下:print(df_short['date'].head())輸出結(jié)果:02022-03-0712022-03-2322022-03-1832022-03-3042022-02-26Name:date,dtype:datetime64[ns]查看日期范圍的代碼如下:minDate=df_short['date'].min()print('起始日期:',minDate)maxDate=df_short['date'].max()print('結(jié)束日期:',maxDate)diffData=maxDate-minDateprint('日期相差:',diffData,'天')輸出結(jié)果:起始日期:2022-02-0100:00:00結(jié)束日期:2022-04-1500:00:00日期相差:73days00:00:00天查看時(shí)間范圍的代碼如下:print('時(shí)間范圍為:{}到{}'.format(min(df_short.date),max(df_short.date)))輸出結(jié)果:時(shí)間范圍為:2022-02-0100:00:00到2022-04-1500:00:00(5)查看數(shù)據(jù)集的形狀代碼如下:print('數(shù)據(jù)集大小:')print(df_short.shape)輸出結(jié)果:數(shù)據(jù)集大?。?55148,8)(6)查看數(shù)據(jù)集每一列的數(shù)據(jù)類(lèi)型代碼如下:print('數(shù)據(jù)類(lèi)型:')print(df_short.dtypes)輸出結(jié)果:(7)刪除無(wú)效字段從df_short數(shù)據(jù)集的字段信息可以看出,字段“Unnamed:0”是一個(gè)沒(méi)有命名的字段,也就是說(shuō)該字段為無(wú)效字段,為了對(duì)后面的各項(xiàng)操作不產(chǎn)生影響,這里先將該無(wú)效字段刪除。以下各語(yǔ)句都可以實(shí)現(xiàn)刪除無(wú)效字段“Unnamed:0”,其作用是等效的。df_short.drop(df_short.columns[[0]],axis=1,inplace=True)df_short.drop(labels='Unnamed:0',axis=1,inplace=True)deldf_short['Unnamed:0']刪除無(wú)效字段“Unnamed:0”后,再次查看數(shù)據(jù)集df_short各列數(shù)據(jù)類(lèi)型。代碼如下:df_short.dtypes輸出結(jié)果:從上述輸出結(jié)果可以看出,字段“Unnamed:0”已被刪除了。(8)查看每列數(shù)據(jù)信息代碼如下:forcolumnindf_short.columns:print("字段名:",,column)print("部分字段值:",df_short[column].unique()[0:8])print("字段值數(shù)量:",df_short[column].unique().shape[0])print("字段缺失值情況:",df_short[column].isnull().sum(),"\n")前3列的數(shù)據(jù)信息如下:字段名:customer_id部分字段值:['1174854''455341''478893''95399''746439''1482973''1080218''936385']字段值數(shù)量:49003字段缺失值情況:0字段名:product_id部分字段值:['344088''130092''131477''310506''296528''322119''358237''313236']字段值數(shù)量:25061字段缺失值情況:0字段名:type部分字段值:[14523]字段值數(shù)量:5字段缺失值情況:0(9)查看數(shù)據(jù)集中是否存在重復(fù)記錄查看數(shù)據(jù)集df_short中重復(fù)記錄數(shù)量的代碼如下:print('數(shù)據(jù)集中含有%d行重復(fù)數(shù)據(jù)'%(df_short.duplicated().sum()))輸出結(jié)果:數(shù)據(jù)集中含有11行重復(fù)數(shù)據(jù)查看數(shù)據(jù)集中重復(fù)記錄內(nèi)容的代碼如下:df_short[df_short.duplicated()]查看customer_id為587314的客戶(hù)的購(gòu)買(mǎi)記錄的代碼如下:df_short[df_short.customer_id=='587314']輸出結(jié)果:數(shù)據(jù)集df_short為購(gòu)買(mǎi)記錄表,重復(fù)記錄表示同一客戶(hù)同日重復(fù)購(gòu)買(mǎi)商品的數(shù)據(jù),暫不將其刪除,也可以新增一列“購(gòu)買(mǎi)數(shù)量”用于合并重復(fù)記錄。(10)查看數(shù)據(jù)集中指定列的記錄數(shù)量代碼如下:df_short['customer_id'].count()輸出結(jié)果:55148從上述輸出結(jié)果可以看出,“customer_id”列中有55148條記錄。(11)查看數(shù)據(jù)集中各列無(wú)重復(fù)數(shù)據(jù)的數(shù)量代碼如下:print('"customer_id"列無(wú)重復(fù)數(shù)據(jù)的數(shù)量為:',df_short['customer_id'].nunique())print('"product_id"列無(wú)重復(fù)數(shù)據(jù)的數(shù)量為:',df_short['product_id'].nunique())print('"type"列無(wú)重復(fù)數(shù)據(jù)的數(shù)量為:',df_short['type'].nunique())print('"brand"列無(wú)重復(fù)數(shù)據(jù)的數(shù)量為:',df_short['brand'].nunique())print('"category"列無(wú)重復(fù)數(shù)據(jù)的數(shù)量為:',df_short['category'].nunique())print('"shop_category"列無(wú)重復(fù)數(shù)據(jù)的數(shù)量為:',df_short['shop_category'].nunique())print('"date"列無(wú)重復(fù)數(shù)據(jù)的數(shù)量為:',df_short['date'].nunique())輸出結(jié)果:"customer_id"列無(wú)重復(fù)數(shù)據(jù)的數(shù)量為:49003"product_id"列無(wú)重復(fù)數(shù)據(jù)的數(shù)量為:25061"type"列無(wú)重復(fù)數(shù)據(jù)的數(shù)量為:5"brand"列無(wú)重復(fù)數(shù)據(jù)的數(shù)量為:71"category"列無(wú)重復(fù)數(shù)據(jù)的數(shù)量為:53"shop_category"列無(wú)重復(fù)數(shù)據(jù)的數(shù)量為:9"date"列無(wú)重復(fù)數(shù)據(jù)的數(shù)量為:74從上述輸出結(jié)果可以看出:“customer_id”列的去重?cái)?shù)據(jù)量為49003,說(shuō)明在2022-02-01至2022-04-15期間有49003名用戶(hù),下單購(gòu)買(mǎi)55148件商品,也說(shuō)明“customer_id”列中有6145條重復(fù)的記錄?!皃roduct_id”列的去重?cái)?shù)據(jù)量為25061,說(shuō)明相關(guān)商品的數(shù)量為25061;“type”列的去重?cái)?shù)據(jù)量為5,說(shuō)明一共有5種用戶(hù)行為,編號(hào)分別為1、2、3、4、5,且1的頻次最高,其次是4、5、3、2,可以認(rèn)為1表示瀏覽、4表示收藏、5表示加入購(gòu)物畫(huà)、3表示購(gòu)買(mǎi)、2表示評(píng)論;“brand”列的去重?cái)?shù)據(jù)量為71,表示一共有71個(gè)品牌;“category”列的去重?cái)?shù)據(jù)量為53,表示一共有53種商品類(lèi)型;“shop_category”列的去重?cái)?shù)據(jù)量為9,表示一共有9種店鋪類(lèi)型;“date”列的去重?cái)?shù)據(jù)量為74,表示一共跨越74天(2022年2月1日—2022年4月15日)。以下兩條語(yǔ)句都能實(shí)現(xiàn)查看指定列“customer_id”的去重后的記錄數(shù)量。len(df_short['customer_id'].unique())df_short['customer_id'].unique().shape[0]輸出結(jié)果:49003(12)查看指定列無(wú)重復(fù)數(shù)據(jù)的部分內(nèi)容代碼如下:print(df_short['brand'].unique()[0:10])print('-'*75)print(df_short['category'].unique()[0:10])print('-'*75)print(df_short['shop_category'].unique()[0:10])輸出結(jié)果:['Huawei''Other''Gree''Apple''illuma''Sumsung''Supor''Haier''Vivo''Joyoung']['Phone''Coat''AirConditioner''MilkPower''Tablet''RiceCooker''Refrigerator''Cookie''InductionCooker''Television']['Electronics''Clothes''HouseholdEletricAppliance''MotherandInfant''Food''BeautyMakeup''OutdoorSports''Furniture''JewelleryAccessories'](13)查看數(shù)據(jù)集中有無(wú)缺失數(shù)據(jù)代碼如下:df_short.isnull().sum()輸出結(jié)果:(14)驗(yàn)證兩個(gè)數(shù)據(jù)集是同一時(shí)間段同一批用戶(hù)的數(shù)據(jù)代碼如下:len(df_short['customer_id'].unique()

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論