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