版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四章數(shù)據(jù)預(yù)處理:清洗表格數(shù)據(jù)1(數(shù)據(jù)背景2(數(shù)據(jù)清洗目錄數(shù)據(jù)背景1數(shù)據(jù)背景在財(cái)務(wù)流程自動(dòng)化的過(guò)程中,對(duì)原始數(shù)據(jù)的清洗是首要工作。業(yè)務(wù)流程中,數(shù)據(jù)一般從系統(tǒng)到人工,人工處理后再返回系統(tǒng)。原始數(shù)據(jù)一部分來(lái)自于業(yè)務(wù)人員手工制作的Excel,一部分來(lái)源于系統(tǒng)。手工制作的數(shù)據(jù)很難保證完全符合系統(tǒng)規(guī)范,一些缺漏、不規(guī)范輸入、不統(tǒng)一的格式等都會(huì)導(dǎo)致臟數(shù)據(jù)的產(chǎn)生。從系統(tǒng)導(dǎo)出的數(shù)據(jù)一般較為全量,有很多冗余數(shù)據(jù),為了獲取到需要的數(shù)據(jù),也需要一定的處理。數(shù)據(jù)清洗2內(nèi)容替換df.replace()函數(shù)用于對(duì)DataFrame的值進(jìn)行全局替換,比如空值、某個(gè)統(tǒng)一錯(cuò)誤的數(shù)據(jù)。df[col_name].replace()可對(duì)DataFrame的指定列的數(shù)據(jù)進(jìn)行替換操作。replace()函數(shù)的參數(shù)有兩種寫法,一種是replace(to_replace,value),一種是replace({to_replace:value})。參數(shù)值使用了正則表達(dá)式的時(shí)候,后面要加參數(shù)regex=True,否則正則表達(dá)式不起效。df.replace(to_replace,value)df.replace({to_replace:value})df[col_name].replace(to_replace,value)df[col_name].replace({to_replace:value})內(nèi)容替換#讀取名為“test_data”的Excel的名為“Sheet1”的sheet頁(yè)的可用數(shù)據(jù)行,把其中的空值替換為空字符串(體現(xiàn)在amount(lcy)列),把以大寫字母“I”開(kāi)頭的單詞替換為“iii”(體現(xiàn)在lessee_region列)。內(nèi)容替換df[col_name].str.replace(to_replace,value)函數(shù)可以對(duì)DataFrame值的具體內(nèi)容進(jìn)行替換操作。此函數(shù)多用于去除值內(nèi)部的前后空白字符,或者統(tǒng)一數(shù)據(jù)的記錄格式,去除無(wú)效字符。df[].str.replace()函數(shù)必須寫明操作的對(duì)象列,參數(shù)與參數(shù)之間也只能用逗號(hào)隔開(kāi),否則報(bào)錯(cuò)。內(nèi)容替換#讀取名為“test_data”的Excel的名為“Sheet1”的sheet頁(yè)的可用數(shù)據(jù)行,把company_no列的大寫字母“S”替換為小寫字母“s”,把payment_details列的字符串“payment_details”替換為字符串“PaymentDetails”。內(nèi)容替換把字母都轉(zhuǎn)為小寫:df[].str.lower();把字母都轉(zhuǎn)為大寫:df[].str.upper();把單詞首字母轉(zhuǎn)為大寫:df[].str.title();首尾去除固定字符:df[].str.strip(to_strip);……df[col_name].str下的方法都是對(duì)DataFrame的值的具體內(nèi)容進(jìn)行操作,和python中對(duì)字符串的操作類似,用法諸多,可自行探索。數(shù)據(jù)類型轉(zhuǎn)換df.dtypes可用于查看DataFrame各列的數(shù)據(jù)類型。常見(jiàn)的類型有object、int64、float64、datetime64。數(shù)據(jù)類型轉(zhuǎn)換df.astype('數(shù)據(jù)類型')函數(shù)用于重新定義DataFrame的數(shù)據(jù)類型,可以對(duì)指定列進(jìn)行操作,也可以對(duì)整個(gè)DataFrame進(jìn)行操作。類型轉(zhuǎn)換需符合通用規(guī)范,否則會(huì)報(bào)錯(cuò)。一般會(huì)把object類型重新定義為string類型,序號(hào)定義為int64類型,金額定義為float類型,日期定義為datatime64類型,如果日期原格式統(tǒng)一且需要保留為原格式,可以定義為string類型。數(shù)據(jù)類型轉(zhuǎn)換對(duì)整個(gè)DataFrame進(jìn)行操作對(duì)指定列進(jìn)行操作數(shù)據(jù)類型轉(zhuǎn)換日期在財(cái)務(wù)數(shù)據(jù)中是個(gè)很重要的存在,但是日期格式多種多樣,常用的日期格式是年月日,所以通常要對(duì)非年月日格式的日期進(jìn)行處理。在前面展示的例子中,雖然日期的顯示值為“日-英文月份簡(jiǎn)稱-年”的格式,但其實(shí)際格式為年月日(如圖1所示),所以在讀取時(shí)沒(méi)有任何問(wèn)題,類型也會(huì)被自動(dòng)判定為日期類型。如果在Excel中日期單元格被設(shè)為文本類型,顯示值即實(shí)際值(如圖2所示),就需要把數(shù)據(jù)處理為統(tǒng)一的日期類型,方便后續(xù)操作。圖1顯示值與實(shí)際值不同圖2顯示值與實(shí)際值相同數(shù)據(jù)類型轉(zhuǎn)換time.strptime(string,format)函數(shù)用于解析時(shí)間日期字符串,第一個(gè)參數(shù)是需要轉(zhuǎn)換的時(shí)間日期字符串,第二個(gè)參數(shù)是該字符串的時(shí)間日期格式。time.strftime(format)函數(shù)用于格式化時(shí)間日期,參數(shù)是需要得到的結(jié)果的格式。常見(jiàn)的時(shí)間日期格式化符號(hào)有:%y兩位數(shù)的年份(00-99);%Y四位數(shù)的年份(000-9999);%m月份(01-12);%d月內(nèi)中的一天(0-31);%H24小時(shí)制小時(shí)數(shù)(0-23);%M分鐘數(shù)(00-59);%S秒;%b簡(jiǎn)化的月份名稱;%a簡(jiǎn)化的星期名稱。右鍵點(diǎn)擊圖片選擇設(shè)置圖片格式可直接替換圖片。您的容打在這里,或者通這里,或者通過(guò)復(fù)制過(guò)復(fù)制您的文本數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換刪除無(wú)效數(shù)據(jù)1.刪除任意行df.drop([])2.刪除包含指定值的行df=df[~df['bank_account_no'].isin(['指定值1','指定值2',……])]3.刪除重復(fù)行df=df.drop_duplicates()4.刪除不需要的列df=df.drop(columns=['del_col_name_1','del_col_name_2',……])刪除任意行在使用read_excel()函數(shù)讀取Excel文件時(shí),就可以通過(guò)定義參數(shù)跳過(guò)前面幾行或者最后幾行,但當(dāng)需要跳過(guò)的行不在頭尾連續(xù)的時(shí)候,就不能直接在read_excel()函數(shù)通過(guò)定義參數(shù)實(shí)現(xiàn)??梢酝ㄟ^(guò)df.drop()函數(shù)達(dá)到刪除任意一行的目的,值得注意的是,df.drop()函數(shù)操作的是DataFrame的數(shù)據(jù)行,在使用read_excel()函數(shù)讀取Excel文件時(shí),標(biāo)題行就已經(jīng)確定,df.drop()函數(shù)無(wú)法操作標(biāo)題行。df.drop()函數(shù)的參數(shù)只能是行的下標(biāo)索引值(從0開(kāi)始),不支持-1這種索引。如果要去除末尾行,參數(shù)應(yīng)寫為[len(df)-1]。刪除任意行刪除任意行刪除任意行刪除包含指定值的行刪除包含指定值的行的操作時(shí),首先使用isin()函數(shù)篩選出包含指定值的行,然后取反,篩選出不包含指定值的行,達(dá)到刪除包含指定值的行的目的。刪除不需要的列數(shù)據(jù)創(chuàng)造1.利用現(xiàn)有DataFrame生成一個(gè)新的DataFrame#定義一個(gè)新的DataFramenew_df1=pd.DataFrame(columns=['new_col_1','new_col_2',……])#新的DataFrame的列直接取自現(xiàn)有DataFrame的列new_df1['new_col_1']=df['col_1']new_df1['new_col_2']=df['col_2']……#對(duì)現(xiàn)有DataFrame進(jìn)行切分new_df2=df.loc[:,'col_head':'col_tail']數(shù)據(jù)創(chuàng)造數(shù)據(jù)創(chuàng)造數(shù)據(jù)創(chuàng)造2.利用函數(shù)和方法創(chuàng)造DataFrame的新列使用df.insert(loc,col_name,value)函數(shù)為現(xiàn)有DataFrame增加新列。第一參數(shù)是插入的位置,參數(shù)值必須是0到len(columns)之間的數(shù);第二個(gè)參數(shù)是新列的列名;第三個(gè)參數(shù)是該列的值,如果是固定值那么該列的所有行都會(huì)被賦此固定值。數(shù)據(jù)創(chuàng)造數(shù)據(jù)創(chuàng)造數(shù)據(jù)創(chuàng)造3.DataFrame的合并與拼接使用前面生成的new_df1和new_df2,通過(guò)join方法生成new_df3。右鍵點(diǎn)擊圖片選擇設(shè)置圖片格式可直接替換圖片。您的容打在這里,或者通這里,或者通過(guò)復(fù)制過(guò)復(fù)制您的文本DataFrame轉(zhuǎn)換DataFrame.to_dict()函數(shù)可以把DataFrame轉(zhuǎn)化為字典類型。函數(shù)中只需要填寫一個(gè)參數(shù)即可,但對(duì)于寫入?yún)?shù)值的不同,字典的構(gòu)造方式也不同。官方網(wǎng)站中一共給出了6種參數(shù)值:'dict',函數(shù)默認(rèn)參數(shù),轉(zhuǎn)化后的字典形式:{column:{index:value)}};'list',轉(zhuǎn)化后的字典形式:{column:{[values]}};'series',轉(zhuǎn)化后的字典形式:{column:Series(values)};'split',轉(zhuǎn)化后的字典形式:{'index':[index],'columns':[columns],'data':[values]};'records',轉(zhuǎn)化后是list形式:[{column:value}…{column:value}];'i
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 稀土磁性材料成型工崗前保密意識(shí)考核試卷含答案
- 成品礦運(yùn)送工創(chuàng)新方法強(qiáng)化考核試卷含答案
- 焦化裝置操作工安全培訓(xùn)效果測(cè)試考核試卷含答案
- 選煤工班組評(píng)比知識(shí)考核試卷含答案
- 營(yíng)造林技術(shù)員安全知識(shí)競(jìng)賽水平考核試卷含答案
- 黃酒釀造工崗前安全生產(chǎn)知識(shí)考核試卷含答案
- 2024年朝陽(yáng)職工工學(xué)院輔導(dǎo)員考試筆試真題匯編附答案
- 固體飲料噴霧造粒工測(cè)試驗(yàn)證知識(shí)考核試卷含答案
- 淀粉及淀粉糖制造工達(dá)標(biāo)測(cè)試考核試卷含答案
- 2024年齊齊哈爾醫(yī)學(xué)院輔導(dǎo)員考試筆試題庫(kù)附答案
- 2026年藥店培訓(xùn)計(jì)劃試題及答案
- DB32T3916-2020建筑地基基礎(chǔ)檢測(cè)規(guī)程
- 換電柜維護(hù)培訓(xùn)課件
- GB/T 15153.1-2024遠(yuǎn)動(dòng)設(shè)備及系統(tǒng)第2部分:工作條件第1篇:電源和電磁兼容性
- 初中語(yǔ)文 送別詩(shī)練習(xí)題(含答案)
- 企業(yè)標(biāo)準(zhǔn)-格式模板
- 五年級(jí)上冊(cè)道德與法治期末測(cè)試卷新版
- 2022年醫(yī)學(xué)專題-石家莊中國(guó)鮑曼不動(dòng)桿菌感染診治與防控專家共識(shí)
- YY/T 1543-2017鼻氧管
- YS/T 903.1-2013銦廢料化學(xué)分析方法第1部分:銦量的測(cè)定EDTA滴定法
- FZ/T 70010-2006針織物平方米干燥重量的測(cè)定
評(píng)論
0/150
提交評(píng)論