版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
主講人:陳清華數(shù)據(jù)集成與處理任務(wù)實(shí)施【數(shù)據(jù)挖掘應(yīng)用】課程用餐數(shù)據(jù)異常分析掌握Numpy、Pandas等第三方包的基本使用;會(huì)使用Pandas數(shù)據(jù)分析工具進(jìn)行數(shù)據(jù)集成、數(shù)據(jù)映射、數(shù)據(jù)處理等操作;會(huì)應(yīng)用merge()、apply()等函數(shù)對(duì)用餐數(shù)據(jù)做加工與處理。能力目標(biāo)主要內(nèi)容任務(wù)工單引導(dǎo)問題任務(wù)評(píng)價(jià)標(biāo)準(zhǔn)任務(wù)解決方案代碼解析用餐數(shù)據(jù)集成與處理tips1.csv、tips2.csv教學(xué)難點(diǎn)任務(wù)工單基于獲得的數(shù)據(jù)集,使用Pandas中相應(yīng)的工具對(duì)sex、smoker、day列做數(shù)據(jù)映射;基于day、date列構(gòu)建特征;并對(duì)name、phone、totalbill、tip列做不同數(shù)據(jù)處理,將name列變成首字母大寫,隱藏phone列中間5位(第4至8位)數(shù)值,將totalbill、tip轉(zhuǎn)換成浮點(diǎn)型。任務(wù)概述
任務(wù)描述:
使用read_csv()從文件中讀取數(shù)據(jù)后,按兩個(gè)數(shù)據(jù)集的索引列做集成操作,并完成相應(yīng)的數(shù)據(jù)加工與處理。010010011001101010100100110110100101110101000100001011011101001010101101010011010010數(shù)據(jù)源tips1.csv、tips2.csv顯示結(jié)果
任務(wù)要求任務(wù)概述(1)什么是數(shù)據(jù)集成?數(shù)據(jù)集成常見的操作有哪些?(2)Pandas中對(duì)數(shù)據(jù)做合并、連接等操作的相關(guān)函數(shù)是什么?(3)Pandas中merge()函數(shù)有哪些參數(shù)?分別用來(lái)指定什么?(4)Pandas中用來(lái)構(gòu)造特征的函數(shù)有哪些?主要用途是什么?(5)Pandas中數(shù)據(jù)類型轉(zhuǎn)換函數(shù)有哪些?如何使用?”
問題引導(dǎo):任務(wù)概述
任務(wù)評(píng)價(jià):任務(wù)概述評(píng)價(jià)內(nèi)容評(píng)價(jià)要點(diǎn)分值分?jǐn)?shù)評(píng)定自我評(píng)價(jià)1.任務(wù)實(shí)施數(shù)據(jù)讀取與集成2分會(huì)讀取數(shù)據(jù)得1分,會(huì)正常合并數(shù)據(jù)得1分
數(shù)據(jù)映射2分會(huì)正確映射sex、smoker列得1分,能正確映射day列得1分
特征構(gòu)造2分能正確構(gòu)造是否工作日得1分,能正確構(gòu)造月份得1分
數(shù)據(jù)加工與處理3分首字母大寫正確得1分,能正確隱藏部分號(hào)碼得1分,能正確轉(zhuǎn)換費(fèi)用數(shù)據(jù)類型得1分
3.任務(wù)總結(jié)依據(jù)任務(wù)實(shí)施情況總結(jié)結(jié)論1分總結(jié)內(nèi)容切中本任務(wù)的重點(diǎn)要點(diǎn)得1分
合計(jì)10分
第1行:本文件用utf-8編碼,utf-8編碼支持多種文字,包括中文。第2行:導(dǎo)入pandas包,并給出別名pd。第3行:從tips1.csv文件中讀取數(shù)據(jù)#coding:utf-8importpandas
aspddf1=pd.read_csv("tips1.csv",index_col=0,header=0,names=['ID','sex','smoker','day','time','size','name','date','phone'])
df1.head()第4行:打印出前面幾條數(shù)據(jù),如果在pycharm中可使用print。任務(wù)解決方案(1)從“tips1.csv”中讀數(shù)據(jù)存入df1第5行:從tips2.csv文件中讀取數(shù)據(jù)df2=pd.read_csv("tips2.csv",index_col=0,header=0,names=['ID','bill','tip'],encoding='gbk')
df2.head()任務(wù)解決方案部分?jǐn)?shù)據(jù)顯示(2)從“tips2.csv”中讀數(shù)據(jù)存入df2任務(wù)解決方案第7行:按ID列對(duì)數(shù)據(jù)進(jìn)行合并df=df1.merge(df2,on='ID')
df.head()部分?jǐn)?shù)據(jù)顯示(3)df1+df2數(shù)據(jù)集成df第9行:導(dǎo)入numpy包,并給出別名np。第10行:對(duì)sex列做數(shù)據(jù)映射,男性編碼為1,女性為0。import
numpyasnpdf['sex2']=np.where(df['sex']=='Male',1,0)任務(wù)解決方案第12行:對(duì)smoker列做數(shù)據(jù)映射,,將是否吸煙轉(zhuǎn)化為1和0。df[‘smoker2’]=np.where(df[‘smoker‘]
=='Yes',1,0)days={'Mon':1,'Tues':2,'Wed':3,'Thur':4,'Fri':5,'Sat':6,'Sun':7}第13行:構(gòu)造一個(gè)星期字典days。第10行:對(duì)sex列做數(shù)據(jù)映射,男性編碼為1,女性為0。第12行:對(duì)smoker列做數(shù)據(jù)映射,,將是否吸煙轉(zhuǎn)化為1和0。第13行:構(gòu)造一個(gè)星期字典days。第9行:導(dǎo)入numpy包,并給出別名np。第10行:對(duì)sex列做數(shù)據(jù)映射,男性編碼為1,女性為0。(4)df數(shù)據(jù)預(yù)處理任務(wù)解決方案days={'Mon':1,'Tues':2,'Wed':3,'Thur':4,'Fri':5,'Sat':6,'Sun':7}第13行:構(gòu)造一個(gè)星期字典days。df['day2']=df['day'].apply(lambdax:days[x])第14行:對(duì)day列做數(shù)據(jù)映射,其中星期一映射為1,星期二為2,以此類推,存為day2。部分?jǐn)?shù)據(jù)顯示(4)df數(shù)據(jù)預(yù)處理第15行:構(gòu)造day3列:將day2中的星期幾轉(zhuǎn)換化是否工作日;df['day3']=np.where(df['day2']>5,0,1)第16、17行:構(gòu)造month列,從date列中抽取月份。任務(wù)解決方案第19行:處理phone列,隱藏phone列中電話號(hào)碼中間5位,變成*,存為phone2列。第18行:處理name列,實(shí)現(xiàn)首字母大寫;df['date']
=
pd.to_datetime(df['date'],format="%Y-%m-%d",
errors
=
'coerce’)df['month']=df['date'].dt.monthdf['name']
=df['name'].map(str.capitalize)df['phone2']
=
df['phone'].astype(str).map(lambda
x:x.replace(x[3:8],"*****"))(4)df數(shù)據(jù)預(yù)處理第20、21行:處理bill、tip列中美元,并將其轉(zhuǎn)化為浮點(diǎn)型:方式一,采用字符串替換的方式df['bill2’]=df['bill'].astype(str).apply(lambdax:float(x.replace("美元","")))df['tip2’]=df['tip'].astype(str).apply(lambdax:float(x.replace("美元","")))第22、23行:方式二,采用數(shù)據(jù)抽取的方式任務(wù)解決方案df['bill3']
=
df['bill'].str.slice(0,-2).astype(float)df['tip3']
=
df['tip'].str.slice(0,-2).astype(float)部分?jǐn)?shù)據(jù)顯示(4)df數(shù)據(jù)預(yù)處理任務(wù)解決方案df
=
df1.merge(df2,on='ID’)
df
=
df1.join(df2.set_index('ID'),on='ID',how
=
'outer’)df1.combine_first(df2)pandas.to_datetime(dateString,format)
代碼解析:在pandas中,通過兩個(gè)數(shù)據(jù)集上一個(gè)或多個(gè)鍵來(lái)合并數(shù)據(jù)時(shí),可使用merge()函數(shù)。使用join()函數(shù)來(lái)實(shí)現(xiàn)根據(jù)特定的列和索引進(jìn)行合并數(shù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024施工混凝土合同范本
- 2024年中英文對(duì)照技術(shù)文檔制作與審核合同3篇
- 2024年高端住宅銷售代理協(xié)議版
- 2025年度甜品連鎖店品牌授權(quán)合作合同范本3篇
- 2024幼兒園幼兒安全與健康管理聘用協(xié)議書3篇
- 2024幼兒園教師學(xué)生個(gè)性發(fā)展與教育引導(dǎo)合同3篇
- 2024年電子商務(wù)用戶隱私保護(hù)協(xié)議3篇
- 2024年電子產(chǎn)品物流配送合同
- 2025年度冷鏈倉(cāng)儲(chǔ)與配送服務(wù)合同范本3篇
- 2024物流運(yùn)輸合同涉及的責(zé)任與義務(wù)
- 第17課 西晉的短暫統(tǒng)一和北方各族的內(nèi)遷(說課稿)-2024-2025學(xué)年七年級(jí)歷史上冊(cè)素養(yǎng)提升說課稿(統(tǒng)編版2024)
- 2023-2024學(xué)年小學(xué)語(yǔ)文四年級(jí)素養(yǎng)檢測(cè)復(fù)習(xí)試題附答案
- 露天礦山全員安全教育培訓(xùn)
- 共生理論視域下開放型區(qū)域產(chǎn)教融合實(shí)踐中心建設(shè)路徑研究
- 2025屆河南省九師聯(lián)盟高一物理第一學(xué)期期末監(jiān)測(cè)模擬試題含解析
- 牛頓迭代的并行化算法
- 建筑垃圾清理運(yùn)輸服務(wù)方案
- 中國(guó)新茶飲行業(yè)政策、市場(chǎng)規(guī)模及投資前景研究報(bào)告(智研咨詢發(fā)布)
- 哈爾濱 研學(xué)課程設(shè)計(jì)
- 護(hù)士人文素養(yǎng)授課護(hù)理
- PowerPoint使用詳解課件
評(píng)論
0/150
提交評(píng)論