0
本文為 AI 研習(xí)社編譯的技術(shù)博客,原標(biāo)題 :
The Simple Yet Practical Data Cleaning Codes
作者 | Admond Lee
翻譯 | 泰絲·路易斯
校對 | 醬番梨 審核 | 約翰遜·李加薪 整理 | 立魚王
原文鏈接:
https://towardsdatascience.com/the-simple-yet-practical-data-cleaning-codes-ad27c4ce0a38
在我的一篇文章中(我的第一份數(shù)據(jù)科學(xué)實習(xí)),我曾討論過數(shù)據(jù)清理有多么重要,并且這項工作經(jīng)常在整個數(shù)據(jù)科學(xué)的工作流中占到40%-70%。這個世界并不完美,數(shù)據(jù)也是如此。
Garbage in, Garbage out
現(xiàn)實世界的數(shù)據(jù)非常臟亂,我們作為數(shù)據(jù)科學(xué)家 - 有時也稱為數(shù)據(jù)清理者 - 應(yīng)該能夠在進行任何數(shù)據(jù)分析或模型構(gòu)建之前執(zhí)行數(shù)據(jù)清理,以確保最高質(zhì)量的數(shù)據(jù)。
長話短說,在數(shù)據(jù)科學(xué)領(lǐng)域相當(dāng)長一段時間后,我確實感受到在處理數(shù)據(jù)分析,可視化和模型構(gòu)建之前進行數(shù)據(jù)清理的痛苦。
承認與否,數(shù)據(jù)清理不是一項容易的任務(wù),大多數(shù)時候它是耗時且乏味的,但這個過程太重要了,不容忽視。
如果你經(jīng)歷過這個過程,你會理解我的意思。 這正是我寫這篇文章的原因,以幫助您以更平滑的方式執(zhí)行數(shù)據(jù)清理。
(大意:關(guān)于數(shù)據(jù)科學(xué),無論技術(shù)性與否,有哪些你一直想問或是弄明白的問題?不要緊。在評論區(qū)留言分享你的問題,我會盡我所能回答。如果我認為有必要,我會新開一篇博文圈你并討論這個問題,這樣你可以及時獲得最新消息。那么……我們開始吧!2019,沖呀!)
一周前,我在領(lǐng)英上提問并解答了一些數(shù)據(jù)科學(xué)家和從業(yè)人員關(guān)于數(shù)據(jù)科學(xué)炙手可熱的問題。
如果您一直關(guān)注我的工作,我在LinkedIn上忙于實現(xiàn)共享學(xué)習(xí)環(huán)境的民主化,以數(shù)據(jù)科學(xué)上為主,通過有抱負的數(shù)據(jù)科學(xué)家和其他不同專業(yè)知識和背景的數(shù)據(jù)專家的LinkedIn上發(fā)起討論。 如果您想?yún)⑴c有關(guān)數(shù)據(jù)科學(xué)的有趣話題的討論,請隨時LinkedIn關(guān)注我。 您會對數(shù)據(jù)科學(xué)社區(qū)的參與和支持感到驚訝。?
我在評論中收獲了不少有趣的問題。 然而,Anirban提到了一個重要的問題,我最終決定撰寫一篇文章來回答這個問題,因為我不時會收到類似的問題。
事實上,不久前我意識到一些數(shù)據(jù)在數(shù)據(jù)清理方面有類似的模式。 自此,我開始組織和編譯一些我認為適用于其他常見場景的數(shù)據(jù)清理代碼 - 我用于數(shù)據(jù)清理的小工具箱。
由于此處的常見方案跨越不同類型的數(shù)據(jù)集,因此本文著重于展示和解釋代碼的用途,以便您可以輕松地進行調(diào)用。
在本文的最后,我希望你能找到有用的代碼,這將使你的數(shù)據(jù)清理過程更加快速有效。
讓我們開始吧!
當(dāng)一個數(shù)據(jù)集變大時,為了,我們需要dtypes 。如果你對學(xué)習(xí)如何用Pandas處理大型數(shù)據(jù)感興趣,我強烈建議你看一看這篇文章——為什么和如何用Pandas處理大型數(shù)據(jù)。
有些機器學(xué)習(xí)模型要求變量為數(shù)值形式。這時,在把數(shù)據(jù)輸入進模型前,我們需要將類別變量轉(zhuǎn)為數(shù)值變量。對于數(shù)據(jù)可視化,我建議維持類編變量以便有一個更直觀的解釋和理解。
4. 檢查丟失數(shù)據(jù)
如果你想檢查每列中丟失數(shù)據(jù)的數(shù)量,這是最快速的方法。這給你一個更好的用以理解哪些列有更多數(shù)量的丟失數(shù)據(jù),可以決定下一步數(shù)據(jù)清理和分析的方向。
5. 在列中移除字符串
有些時候,在你字符串類型的列中,你可能要面對換行符或是奇怪的符號的出現(xiàn)。這個問題可以被df['col_1'].replace輕松解決, 其中,col_1指的是數(shù)據(jù)幀中的某列。
6. 在列中移除空格
當(dāng)你想通過字符串把兩列有條件的合并時,這個辦法便派上用場。譬如,你想把第一列和第二列合并,條件是根據(jù)第一列中以特定字母們結(jié)束的字符串。在合并后,根據(jù)你的需要,末尾字母們也可被移除。
當(dāng)處理時間序列數(shù)據(jù)時,這意味著我們很可能要將string格式轉(zhuǎn)換到datetime格式——基于我們要求的特定格式——以便用數(shù)據(jù)做出有意義的分析和演示。
(來源:https://unsplash.com/photos/oTvU7Zmteic)
謝謝你的閱讀。
這些代碼本質(zhì)上實現(xiàn)起來相對簡單。 我希望這個數(shù)據(jù)清理的小工具箱讓你能更自信地執(zhí)行數(shù)據(jù)清理,并能通過我的經(jīng)驗對數(shù)據(jù)集樣貌擁有更廣泛的思考。
與往常一樣,如果您有任何問題或意見,請隨時留下您的反饋,或者您可以隨時通過LinkedIn與我聯(lián)系。 至此,下一篇文章中見!雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
想要繼續(xù)查看該篇文章相關(guān)鏈接和參考文獻?
點擊【簡單實用的數(shù)據(jù)清洗代碼】即可訪問:
https://ai.yanxishe.com/page/TextTranslation/1432
Python中文書籍大集合
100本Python中文電子書,6份源代碼,Python從入門到出家,一條龍服務(wù)。
包含Python基礎(chǔ)、進階、爬蟲、算法實現(xiàn)、深度學(xué)習(xí)、TensorFlow、NLP等等
友情提示:文件大小為2.89GB,慎用流量下載,可以先收藏喲~~!
點擊鏈接即可獲取:https://ai.yanxishe.com/page/resourceDetail/676
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。