วิธีทำ Data ให้ Clean ในสถานการณ์ต่าง ๆ พร้อมตัวอย่าง Code

17-ก.ค.-19

คัมภีร์เทพ IT

โดยทั่วไป Data ที่เราเจอ ๆ กันอยู่เป็น Data ที่เป็นข้อมูลดิบยังไม่สามารถนำไปใช้ประโยชน์อย่างเต็มที่ และในฐานะของ Data Scientist หรือบางครั้งอาจรู้จักกันดีว่าเป็น Data Cleaner  ควรทำการ Clean Data เหล่านั้นให้พร้อมสำหรับนำไปวิเคราะห์ หรือนำไปสร้าง Model เพื่อให้มั่นใจว่า Data มีคุณภาพสูงสุด วันนี้เรามาดู วิธีทำ Data ให้ Clean ในสถานการณ์ต่าง ๆ  พร้อมตัวอย่าง Code กัน

เมื่อพูดถึงการ Clean Data ไม่ใช่เรื่องที่ทำกันได้ง่าย ๆ เลย อีกทั้งมักจะต้องใช้เวลานานมาก และดูเป็นเนื้องานที่อาจดูน่าเบื่อไปสักหน่อย แต่อย่างไรก็ตาม มันก็เป็นเรื่องสำคัญที่จำเป็นต้องทำและไม่สามารถละเลยไปได้

สำหรับบทความนี้ ผู้เขียน (Admond Lee) ได้พบว่า Data บางอย่างมักมี Pattern ที่คล้ายคลึงกันเมื่ออยู่ในขั้นตอนการ Clean Data และนั่นเขาก็ได้เริ่มจัดระเบียบและรวบรวม Code บางส่วนสำหรับการ Clean Data ที่เขาคิดว่าพวกมันน่าจะนำไปประยุกต์ใช้ได้ในสถานการณ์ทั่วไปอื่น ๆ ด้วย สำหรับสถานการณ์ทั่วไปที่พูดถึงนี้ ครอบคลุมไปถึง Datasets ประเภทต่าง ๆ ซึ่งบทความนี้มุ่งเน้นไปที่การแสดงให้เห็นและอธิบายถึง Code ที่คุณสามารถนำไปประยุกต์ใช้ได้อย่างง่ายดาย

สำหรับตัวอย่าง Code ที่คุณจะได้เห็นต่อไปนี้ จะถูกเขียนใน Function ที่มีวัตถุประสงค์ในเรื่องต่าง ๆ และส่วนใหญ่คุณก็สามารถนำ Code ไปใช้ได้โดยตรง โดยที่ไม่ต้องใส่อะไรลงไปใน Function หรือต้องเปลี่ยนแปลง Parameters ต่าง ๆ ให้มากมายนัก

1. Drop multiple columns

ในบางครั้ง ไม่ใช่ทุก Column ที่จะมีประโยชน์ในการวิเคราะห์ของเราเสมอไป ดังนั้น df.drop ช่วยให้คุณสามารถใช้ในการลบ Column ที่คุณไม่ต้องการออกไปได้

2. Change dtypes

เมื่อ Datasets เริ่มมีขนาดใหญ่ขึ้น เราจำเป็นต้องแปลง dtypes เพื่อช่วยในเรื่องการประหยัด Memory หากคุณสนใจที่จะเรียนรู้วิธีการใช้ Pandas เพื่อจัดการกับ Data ที่มีขนาดใหญ่ ก็ขอแนะนำให้คุณอ่านบทความ Why and How to Use Pandas with Large Data

3. Convert categorical variable to numerical variable

ในบาง Model ของ Machine Learning ก็ต้องการตัวแปรที่อยู่ในรูปแบบที่วัดผลได้หรือในเชิงจำนวน (Numerical) นั่นคือ เราจำเป็นต้องแปลงตัวแปรในเชิงคุณลักษณะ(Categorical) ไปเป็นตัวแปรในเชิงจำนวน ก่อนที่จะนำพวกมันไปใช้กับ Model ต่าง ๆ แต่ในแง่ของ Data Visualization แล้ว ขอแนะนำให้คุณยังคงเก็บตัวแปรแบบ Categorical ไว้ด้วย เพื่อจะได้มีการตีความและความเข้าใจที่ชัดเจนยิ่งขึ้น

4. Check missing data

หากคุณต้องการตรวจสอบจำนวน Data ที่ขาดหายไปในแต่ละ Column นี่เป็นวิธีที่เร็วที่สุดที่คุณจะสามารถทำได้ สิ่งนี้จะช่วยให้คุณเข้าใจได้ดีขึ้นว่า มี Column ใดบ้างที่มีแนวโน้มการหายไปในจำนวนที่มากขึ้นของ Data ซึ่งมันจะช่วยให้คุณตัดสินใจเกี่ยวกับการ Clean และการวิเคราะห์ Data ครั้งต่อ ๆ ไปของคุณให้ดีขึ้น

5. Remove strings in columns

อาจมีบางเวลาที่คุณต้องเผชิญกับตัวอักษรที่ใช้ในการขึ้นบรรทัดใหม่ หรือสัญลักษณ์แปลก ๆ ที่ปรากฏใน Column ของ Strings นี่คือ วิธีค่อนข้างง่ายที่คุณจะสามารถใช้ในการจัดการกับปัญหาดังกล่าวด้วยการใช้ df['col_1'].replace โดยที่ col_1 ในที่นี้ เป็นหนึ่งใน Column ใน Dataframe df

6. Remove white space in columns

ทุกสิ่งอาจเกิดขึ้นได้เมื่อ Data มีความยุ่งเหยิง ไม่ใช่เรื่องแปลกที่จะเห็นว่ามี ช่องว่าง (White Space) อยู่ที่จุดเริ่มต้นของ Strings ดังนั้น วิธีนี้จะมีประโยชน์อย่างมาก เมื่อคุณต้องการลบเจ้า White Space ที่ตำแหน่งเริ่มต้นของ Strings ใน Column

7. Concatenate two columns with strings (with condition)

สิ่งนี้มีประโยชน์มาก เมื่อคุณต้องการรวม 2 Column เข้าด้วยกันโดยใช้เงื่อนไขของ Strings ตัวอย่างเช่น คุณต้องการเชื่อม Column 1 กับ Column 2 โดยที่หาก Strings ใน Column แรกลงท้ายด้วยตัวอักษรบางตัว ตัวอักษรที่ลงท้ายสามารถถูกลบออกได้หลังจากการเชื่อมต่อ Data แล้ว ซึ่งก็ขึ้นอยู่กับความต้องการของคุณ

8. Convert timestamp(from string to datetime format)

เมื่อต้องจัดการกับ Data ที่เป็น Time Series ก็มีโอกาสที่เราจะพบ Column ของ Timestamp ในรูปแบบของ String ซึ่งหมายความว่า เราอาจต้องแปลงรูปแบบ String ไปเป็นรูปแบบ Datetime (ซึ่งเจ้ารูปแบบที่ว่านี้ ก็ขึ้นอยู่กับความต้องการของเรา) เพื่อให้การวิเคราะห์และนำเสนอโดยการใช้ Data มีความหมายที่ถูกต้อง

หวังว่าคุณจะนำตัวอย่าง Code ที่มีประโยชน์เหล่านี้ไปประยุกต์ใช้ในงานของคุณ ซึ่งจะช่วยให้กระบวนการ Clean Data ของคุณมีความรวดเร็วและมีประสิทธิภาพมากยิ่งขึ้น

ที่มา:  https://towardsdatascience.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด