色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一個簡單實用的清洗代碼集

電子工程師 ? 來源:lq ? 2019-01-23 11:42 ? 次閱讀

數據清洗是數據科學家逃不掉的一份苦差事。為了讓這項工作不那么痛苦,本文作者分享了自己的數據清洗代碼集。

現實世界中的數據通常質量不高,作為一名數據科學家,有時也需要承擔一部分數據清洗的工作,這要求數據科學家們應該能夠在進行數據分析或建模工作之前執行數據清洗步驟,從而確保數據的質量最佳。

不過長話短說,在數據科學領域工作了很長一段時間后,我切實感受到了在進行數據分析、可視化和建模工作之前,進行數據清洗工作是多么痛苦。

不管你承不承認,數據清洗著實不是一件簡單的任務,大多數情況下這項工作是十分耗時而乏味的,但它又是十分重要的。

如果你經歷過數據清洗的過程,你就會明白我的意思。而這正是撰寫這篇文章的目的——讓讀者更輕松地進行數據清洗工作。

事實上,我在不久前意識到,在進行數據清洗時,有一些數據具有相似的模式。也正是從那時起,我開始整理并編譯了一些數據清洗代碼(見下文),我認為這些代碼也適用于其它的常見場景。

由于這些常見的場景涉及到不同類型的數據集,因此本文更加側重于展示和解釋這些代碼可以用于完成哪些工作,以便讀者更加方便地使用它們。

我的數據清洗小工具箱

在下面的代碼片段中,數據清洗代碼被封裝在了一些函數中,代碼的目的十分直觀。你可以直接使用這些代碼,無需將它們嵌入到需要進行少量參數修改的函數中。

1. 刪除多列數據

defdrop_multiple_col(col_names_list,df):'''AIM->DropmultiplecolumnsbasedontheircolumnnamesINPUT->Listofcolumnnames,dfOUTPUT->updateddfwithdroppedcolumns------'''df.drop(col_names_list,axis=1,inplace=True)returndf

有時,并不是所有列的數據都對我們的數據分析工作有用。因此,「df.drop」可以方便地刪掉你選定的列。

2. 轉換 Dtypes

defchange_dtypes(col_int,col_float,df):'''AIM->ChangingdtypestosavememoryINPUT->Listofcolumnnames(int,float),dfOUTPUT->updateddfwithsmallermemory------'''df[col_int]=df[col_int].astype('int32')df[col_float]=df[col_float].astype('float32')

當我們面對更大的數據集時,我們需要對「dtypes」進行轉換,從而節省內存。如果你有興趣學習如何使用「Pandas」來處理大數據,我強烈推薦你閱讀「Why and How to Use Pandas with Large Data」這篇文章(https://towardsdatascience.com/why-and-how-to-use-pandas-with-large-data-9594dda2ea4c)。

3. 將分類變量轉換為數值變量

defconvert_cat2num(df):#Convertcategoricalvariabletonumericalvariablenum_encode={'col_1':{'YES':1,'NO':0},'col_2':{'WON':1,'LOSE':0,'DRAW':0}}df.replace(num_encode,inplace=True)

有一些機器學習模型要求變量是以數值形式存在的。這時,我們就需要將分類變量轉換成數值變量然后再將它們作為模型的輸入。對于數據可視化任務來說,我建議大家保留分類變量,從而讓可視化結果有更明確的解釋,便于理解。

4. 檢查缺失的數據

defcheck_missing_data(df):#checkforanymissingdatainthedf(displayindescendingorder)returndf.isnull().sum().sort_values(ascending=False)

如果你想要檢查每一列中有多少缺失的數據,這可能是最快的方法。這種方法可以讓你更清楚地知道哪些列有更多的缺失數據,幫助你決定接下來在數據清洗和數據分析工作中應該采取怎樣的行動。

5. 刪除列中的字符串

defremove_col_str(df):#removeaportionofstringinadataframecolumn-col_1df['col_1'].replace(' ','',regex=True,inplace=True)#removeallthecharactersafter&#(including&#)forcolumn-col_1df['col_1'].replace('&#.*','',regex=True,inplace=True)

有時你可能會看到一行新的字符,或在字符串列中看到一些奇怪的符號。你可以很容易地使用 df['col_1'].replace 來處理該問題,其中「col_1」是數據幀 df 中的一列。

6. 刪除列中的空格

defremove_col_white_space(df):#removewhitespaceatthebeginningofstringdf[col]=df[col].str.lstrip()

當數據十分混亂時,很多意想不到的情況都會發生。在字符串的開頭有一些空格是很常見的。因此,當你想要刪除列中字符串開頭的空格時,這種方法很實用。

7. 將兩列字符串數據(在一定條件下)拼接起來

defconcat_col_str_condition(df):#concat2columnswithstringsifthelast3lettersofthefirstcolumnare'pil'mask=df['col_1'].str.endswith('pil',na=False)col_new=df[mask]['col_1']+df[mask]['col_2']col_new.replace('pil','',regex=True,inplace=True)#replacethe'pil'withemtpyspace

當你希望在一定條件下將兩列字符串數據組合在一起時,這種方法很有用。例如,你希望當第一列以某些特定的字母結尾時,將第一列和第二列數據拼接在一起。根據你的需要,還可以在拼接工作完成后將結尾的字母刪除掉。

8. 轉換時間戳(從字符串類型轉換為日期「DateTime」格式)

defconvert_str_datetime(df):'''AIM->Convertdatetime(String)todatetime(formatwewant)INPUT->dfOUTPUT->updateddfwithnewdatetimeformat------'''df.insert(loc=2,column='timestamp',value=pd.to_datetime(df.transdate,format='%Y-%m-%d%H:%M:%S.%f'))

在處理時間序列數據時,你可能會遇到字符串格式的時間戳列。這意味著我們可能不得不將字符串格式的數據轉換為根據我們的需求指定的日期「datetime」格式,以便使用這些數據進行有意義的分析和展示。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4327

    瀏覽量

    62571
  • 數據集
    +關注

    關注

    4

    文章

    1208

    瀏覽量

    24689
  • 數據科學
    +關注

    關注

    0

    文章

    165

    瀏覽量

    10053

原文標題:還在為數據清洗抓狂?這里有一個簡單實用的清洗代碼集

文章出處:【微信號:aicapital,微信公眾號:全球人工智能】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    簡單的8位處理器完整設計過程及verilog代碼

    簡單的8位處理器完整設計過程及verilog代碼,適合入門學習參考,并含有作者個人寫的指令執行過程。
    的頭像 發表于 04-10 11:43 ?3510次閱讀

    如何清洗中央空調,清洗中央空調的方法

    應該包括三部分,第空調機體外殼和裸露部分,容易受污染的部件;第二過濾網清洗,是核心最重要部位;第三冷凝器和蒸發器部分,比較少見,與維修結合在塊,相當于小系統的
    發表于 12-21 16:22

    清洗腐蝕設備 每一個制作商的需要

    蘇州晶淼半導體公司 是半導體、LED、太陽能電池、MEMS、硅片硅料、集成電路于體的非標化生產相關清洗腐蝕設備的公司 目前與多家合作過 現正在找合作伙伴 !如果有意者 請聯系我們。
    發表于 08-17 16:23

    清洗腐蝕機 LED芯片

    蘇州晶淼半導體公司 是半導體、LED、太陽能電池、MEMS、硅片硅料、集成電路于體的非標化生產相關清洗腐蝕設備的公司 目前與多家合作過 現正在找合作伙伴 !如果有意者 請聯系我們。
    發表于 08-17 16:31

    使用函數計算對表格存儲中數據做簡單清洗

    Compute) 是事件驅動的服務,通過函數計算,用戶無需管理服務器等運行情況,只需編寫代碼并上傳。函數計算準備計算資源,并以彈性伸縮的方式運行用戶代碼,而用戶只需根據實際
    發表于 05-16 23:03

    清洗誤標注的開發和測試樣本

    ,需要修正開發集中的標簽嗎?回憶下當初設立開發的目標——幫助你快速評估算法性能,從而判斷算法 A 和 B 哪一個更好。如果開發集中誤標注的部分的確影響了你的判斷,那么花時間去修正這些標簽就是值得
    發表于 12-19 09:48

    PCBA的清洗工藝介紹

    多品種PCBA清洗,通過人工的搬運進行可設置在產線的任何地方,離線在腔體內完成化學清洗(或者水基清洗)、水基漂洗、烘干全部工序。  
    發表于 02-05 15:27

    通過簡單的Simulink模型生成代碼

    本文首先通過簡單的Simulink模型生成代碼,然后將代碼copy到
    發表于 08-18 06:22

    超聲波清洗機拆解

    超聲波清洗機 - 拆機與逆向工程這幾天拆解了超聲波清洗機,跟大家分享下。這個外接12V電源適配器來給充電電池充電,可以不帶電源適配器工
    發表于 09-14 06:47

    分享簡單的RTOS代碼

    如何去編寫簡單的RTOS代碼呢?
    發表于 11-29 06:13

    python設計簡單推薦系統的資料和完整代碼

    本文檔的主要內容詳細介紹的是python設計簡單推薦系統的資料和完整代碼免費下載。
    發表于 03-30 09:32 ?14次下載

    機器學習必學的Python代碼示例

    機器學習必學的Python代碼示例
    發表于 06-21 09:35 ?14次下載

    如何用低代碼實現簡單的頁面跳轉功能

    我們先開發第一個頁面,如圖4所示,第一個頁面是在容器中展示“低代碼入門”文本和“鍵入門”按鈕,它們分別可以通過Div、Text、和Button組件來實現。下面
    的頭像 發表于 05-16 09:45 ?1545次閱讀

    簡單說明PCBA板清洗規則

    PCBA板不能隨便清洗,需要有嚴格的要求和注意事項,以下是根據PCBA板清洗規則,對PCBA板清洗的目的、必要性以及過程中的些注意事項做簡單
    的頭像 發表于 09-16 10:39 ?2132次閱讀

    Linux的代碼

    電子發燒友網站提供《Linux的代碼.zip》資料免費下載
    發表于 07-28 15:01 ?0次下載
    Linux的<b class='flag-5'>代碼</b><b class='flag-5'>集</b>
    主站蜘蛛池模板: 国产成人精品午夜福麻豆报告| 这里只有精品在线视频| 特黄特色大片免费播放器9| 色欲档案之麻雀台上淫| 偷拍国产精品在线播放| 亚洲国产成人精品无码区5566 | 亚洲欧美中文字幕网站大全 | 老师扒开尿口男生摸尿口| 99re8热视频这在线视频| 日本电影免费久久精品| 国产精品久久久久久久久久久 | 久久夜色撩人精品国产| 97超碰97资源在线观看| 好想被狂躁A片免费久99| 金发欧美一区在线观看| 看免费人成va视频全| 青青草原直播| 学生妹被爆插到高潮无遮挡| 一边亲着一面膜下的免费过程 | 99久久久国产精品免费调教| 岛国电影网址| 国内精品视频一区二区在线观看| 久久这里只精品国产99re66| 漂亮妈妈中文字幕版| 校花的奶好大好浪| 中字幕视频在线永久在线| 爱情岛论坛免费在线观看| 国产精品色欲AV亚洲三区软件| 久久高清一本无码| 日韩高清在线亚洲专区| 亚洲色图影院| 成人精品视频在线| 久久99热狠狠色AV蜜臀| 日本女人下面毛茸茸| 亚洲色图激情文学| 大香伊蕉在人线国产最新| 久久99精品AV99果冻传媒| 神马电影院午 夜理论| 最懂男人心论坛| 国产欧美日韩亚洲第一页| 男人脱女人衣服吃奶视频|