วิธีทำความสะอาดข้อมูลด้วย Python และ Pandas

Withi Thakhwam Saxad Khxmul Dwy Python Laea Pandas



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

ทำความสะอาดข้อมูลด้วย Python และ Pandas

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

คู่มือนี้จะสำรวจวิธีทำความสะอาดข้อมูลโดยใช้เฟรมเวิร์กของ Python ซึ่งเป็น Pandas เพื่อการตัดสินใจที่ดีขึ้น การทำความสะอาดข้อมูลก็เป็นสิ่งจำเป็นเช่นกัน เมื่อพิจารณาว่าเรากำลังทำงานกับรายการบันทึกการขายสำหรับร้านค้า เราอาจสังเกตเห็นตัวเลขที่หายไป วันที่แปลกๆ และรายการที่ซ้ำกันโดยไม่มีเหตุผลในรายการ หากเราทำการคำนวณหรือบันทึกตามข้อมูลนี้ ปัญหาเหล่านี้อาจทำให้การคำนวณและการคาดการณ์ของเรายุ่งเหยิงได้ การล้างข้อมูลช่วยแก้ไขปัญหาเหล่านี้ ทำให้มั่นใจได้ว่าข้อมูลของเราถูกต้องและพร้อมใช้งาน







การล้างข้อมูลรวมถึงการจัดการข้อมูลที่หายไปและสิ่งที่ต้องทำเมื่อข้อมูลบางส่วนหายไป การลบข้อมูลที่ซ้ำกัน การกำจัดสิ่งที่คัดลอก การแก้ไขประเภทข้อมูล ตรวจสอบให้แน่ใจว่าทุกอย่างอยู่ในรูปแบบที่เหมาะสม และการจัดการกับค่าผิดปกติหรือการจัดการตัวเลข ที่ไม่เข้ากัน ข้อผิดพลาดเหล่านี้ทำให้ข้อมูลดูเหมือนกันและทำให้ข้อมูลปรากฏเป็นมาตรฐาน



ในการเริ่มต้น ตรวจสอบให้แน่ใจก่อนว่าเราติดตั้ง Python และ Pandas แล้ว เราสามารถทำได้โดยพิมพ์คำสั่งในเทอร์มินัลของคอมพิวเตอร์หรือพรอมต์คำสั่ง หากต้องการใช้โค้ดที่กล่าวถึงในคู่มือนี้ เราอาจใช้ Python Pycharm IDE ที่ติดตั้งบนระบบของเราหรือแพลตฟอร์ม Python ออนไลน์ซึ่งก็คือ 'Google Colab' และติดตั้งคำสั่ง 'pip' เพื่อติดตั้งไลบรารีที่สำคัญ



ตอนนี้ มานำเข้า Pandas และโหลดข้อมูลตัวอย่างของเรากันดีกว่า ในตัวอย่างนี้ เราใช้ Google Colab เพื่อเรียกใช้โค้ด อันดับแรกเรานำเข้า Pandas โดยการป้อนคำสั่งต่อไปนี้:





! pip ติดตั้งแพนด้า

นำเข้า หมีแพนด้า เช่น พีดี

นำเข้า มากมาย เช่น เช่น.

จากนั้น เราโหลดชุดข้อมูลที่เราต้องการแสดงโดยใช้เมธอด pd.read() ซึ่งรับพาธของไฟล์เป็นพารามิเตอร์อินพุต

#โหลดชุดข้อมูล

ข้อมูล = พีดี. read_csv ( '/content/sample_data/california_housing_test.csv' )

# แสดงสองสามแถวแรก

พิมพ์ ( ข้อมูล. ศีรษะ ( ) )



ในตัวอย่างถัดไป เราใช้ข้อมูลเกี่ยวกับยอดขายในร้านค้าขนาดเล็ก เพื่อจัดการกับข้อมูลที่ขาดหายไป บางครั้งข้อมูลจึงขาดหายไปในข้อมูลของเรา เราเรียกส่วนที่ขาดหายไปเหล่านี้ว่า “น่าน” (ซึ่งแปลว่า “ไม่ใช่ตัวเลข”) ในการค้นหาค่าที่หายไปเหล่านี้ในสคริปต์ Python ขั้นแรกเราจะโหลดชุดข้อมูลเหมือนที่เราทำในตัวอย่างก่อนหน้านี้ จากนั้น เราจะค้นหาค่าที่หายไปในชุดข้อมูลโดยใช้ฟังก์ชัน “missing_values ​​= data.isnull().sum()” ฟังก์ชันนี้ค้นหาค่าที่หายไปทั้งหมดในชุดข้อมูล จากนั้นเราแสดงผลโดยใช้ฟังก์ชันพิมพ์ ()

! pip ติดตั้งแพนด้า
นำเข้า หมีแพนด้า เช่น พีดี
นำเข้า มากมาย เช่น เช่น.

#โหลดชุดข้อมูล
ข้อมูล = พีดี. read_csv ( '/content/sample_data/california_housing_test.csv' )

# แสดงสองสามแถวแรก
พิมพ์ ( ข้อมูล. ศีรษะ ( ) )

#ตรวจสอบค่าที่หายไป
miss_values = ข้อมูล. เป็นโมฆะ ( ) . ผลรวม ( )

# แสดงค่าที่หายไปนับตามคอลัมน์
พิมพ์ ( miss_values )

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

ตอนนี้ เราจะลบรายการที่ซ้ำกันซึ่งเป็นสำเนาของสิ่งเดียวกัน เนื่องจากอาจทำให้การวิเคราะห์ของเราสับสนได้ ในการค้นหาค่าที่ซ้ำกันในชุดข้อมูล เราใช้ฟังก์ชัน “duplicate_rows = data[data.duplicated()]” หากต้องการลบค่าที่ซ้ำกันเหล่านี้ เราเรียกฟังก์ชัน data.drop_duplicates() เราสามารถค้นหาและลบออกได้โดยใช้รหัสต่อไปนี้:

! pip ติดตั้งแพนด้า
นำเข้า หมีแพนด้า เช่น พีดี
นำเข้า มากมาย เช่น เช่น.
#โหลดชุดข้อมูล
ข้อมูล = พีดี. read_csv ( '/content/sample_data/california_housing_test.csv' )
# แสดงสองสามแถวแรก
พิมพ์ ( ข้อมูล. ศีรษะ ( ) )

# ตรวจสอบแถวที่ซ้ำกัน
ซ้ำ_แถว = ข้อมูล [ ข้อมูล. ทำซ้ำ ( ) ]

#ลบรายการที่ซ้ำกัน
ข้อมูล = ข้อมูล. drop_duplicates ( )

# แสดงสองสามแถวแรกหลังจากลบรายการที่ซ้ำกัน
พิมพ์ ( ข้อมูล. ศีรษะ ( ) )

ชนิดข้อมูลจะกำหนดว่าข้อมูลใดที่สามารถจัดเก็บได้เพื่อแก้ไขประเภทข้อมูล จำเป็นต้องมีประเภทที่เหมาะสมสำหรับข้อมูลแต่ละประเภท ตัวอย่างเช่น วันที่ควรมีประเภทข้อมูลเป็นวันที่ เวลา และตัวเลขควรอยู่ในประเภทข้อมูล เช่น int, float เป็นต้น หากต้องการตรวจสอบประเภทข้อมูลของเรา เราใช้ฟังก์ชัน 'data.dtypes' สามารถใช้ฟังก์ชันนี้ได้ในลักษณะต่อไปนี้:

! pip ติดตั้งแพนด้า
นำเข้า หมีแพนด้า เช่น พีดี
นำเข้า มากมาย เช่น เช่น.
#โหลดชุดข้อมูล
ข้อมูล = พีดี. read_csv ( '/content/sample_data/california_housing_test.csv' )
# แสดงสองสามแถวแรก
พิมพ์ ( ข้อมูล. ศีรษะ ( ) )
# ตรวจสอบประเภทข้อมูลของแต่ละคอลัมน์
data_types = ข้อมูล. ประเภท

# แสดงประเภทข้อมูล
พิมพ์ ( data_types )

หากเราพบปัญหาใด ๆ เราสามารถเปลี่ยนประเภทข้อมูลโดยใช้ Pandas เช่น เราสามารถทำให้วันที่เป็นรูปแบบวันที่ได้ คุณลักษณะ “dtypes” ของ DataFrame ให้ข้อมูลเกี่ยวกับประเภทข้อมูลของแต่ละคอลัมน์ หากเราพบว่าประเภทข้อมูลไม่ตรงกัน เราสามารถใช้ฟังก์ชัน astype() ของ Pandas เพื่อแปลงคอลัมน์ให้เป็นประเภทที่ต้องการได้

หลังจากประเภทข้อมูลแล้ว บางครั้งเราพบค่าผิดปกติซึ่งเป็นค่าที่แตกต่างจากชนิดอื่นๆ มาก พวกมันอาจทำให้การคำนวณของเราผิดพลาดได้ เพื่อจัดการกับค่าผิดปกติ เรากำหนดฟังก์ชันที่ใช้ฟังก์ชัน z-score “np.abs(stats.zscore(data))” ซึ่งจะเปรียบเทียบค่าที่มีอยู่ในข้อมูลของเรากับค่าเกณฑ์ ค่าใดๆ นอกเหนือจากช่วงของเกณฑ์นี้ถือเป็นค่าผิดปกติ . มาดูวิธีค้นหาและจัดการกับค่าผิดปกติ:

! pip ติดตั้งแพนด้า
นำเข้า หมีแพนด้า เช่น พีดี
นำเข้า มากมาย เช่น เช่น.

#โหลดชุดข้อมูล
ข้อมูล = พีดี. read_csv ( '/content/sample_data/california_housing_test.csv' )

# แสดงสองสามแถวแรก
พิมพ์ ( ข้อมูล. ศีรษะ ( ) )
จาก เผ็ดร้อน นำเข้า สถิติ

แน่นอน ตรวจพบค่าผิดปกติ ( ข้อมูล ) : :
z_scores = เช่น. หน้าท้อง ( สถิติ zscore ( ข้อมูล ) )
กลับ เช่น. ที่ไหน ( z_scores > 3 )

# ตรวจจับและจัดการค่าผิดปกติในคอลัมน์ 'การขาย'
ค่าผิดปกติ = ตรวจพบค่าผิดปกติ ( ข้อมูล [ 'ลองจิจูด' ] )
ข้อมูล [ 'ลองจิจูด' ] . สถานที่ [ ค่าผิดปกติ ] = ข้อมูล [ 'ลองจิจูด' ] . ค่ามัธยฐาน ( )

# ตรวจจับและจัดการค่าผิดปกติในคอลัมน์ 'หน่วยที่ขาย'
ค่าผิดปกติ = ตรวจพบค่าผิดปกติ ( ข้อมูล [ 'ละติจูด' ] )
ข้อมูล [ 'ละติจูด' ] . สถานที่ [ ค่าผิดปกติ ] = ข้อมูล [ 'ละติจูด' ] . ค่ามัธยฐาน ( )

# แสดงสองสามแถวแรกหลังจากจัดการค่าผิดปกติ
พิมพ์ ( ข้อมูล. ศีรษะ ( ) )

เราใช้วิธีการง่ายๆ ในการค้นหาและแก้ไขค่าผิดปกติในโค้ดก่อนหน้า มันเกี่ยวข้องกับการแทนที่ค่าสุดขีดด้วยค่ากลางของข้อมูล โค้ดนี้ใช้วิธี Z-score เพื่อตรวจหาค่าผิดปกติในคอลัมน์ 'ลองจิจูด' และ 'ละติจูด' ของชุดข้อมูลของเรา ค่าผิดปกติจะถูกแทนที่ด้วยค่ามัธยฐานของคอลัมน์ที่เกี่ยวข้อง

เพื่อให้ข้อมูลดูเหมือนกัน บางครั้งข้อมูลอาจดูแตกต่างออกไปแม้ว่าจะหมายถึงสิ่งเดียวกันก็ตาม เช่น สามารถเขียนวันที่ได้ในรูปแบบต่างๆ การกำหนดมาตรฐานเกี่ยวข้องกับการรับรองรูปแบบข้อมูลและการเป็นตัวแทนที่สอดคล้องกัน ซึ่งอาจรวมถึงการจัดรูปแบบวันที่ การแปลงข้อความเป็นตัวพิมพ์เล็ก หรือการปรับค่าตัวเลขให้เป็นมาตรฐาน มาสร้างมาตรฐานให้กับคอลัมน์ 'วันที่' ในชุดข้อมูลของเรา และตรวจสอบให้แน่ใจว่าข้อมูลของเรามีลักษณะเหมือนกัน:

นำเข้า หมีแพนด้า เช่น พีดี
นำเข้า มากมาย เช่น เช่น. #นำเข้าจำนวน

#โหลดข้อมูล
ข้อมูล = พีดี. read_csv ( 'sales_data.csv' )

# ทำให้คอลัมน์ 'วันที่' ดูสอดคล้องกัน
ข้อมูล [ 'วันที่' ] = พีดี. to_datetime ( ข้อมูล [ 'วันที่' ] )

#มาดูกันว่าตอนนี้เป็นยังไงบ้าง
พิมพ์ ( ข้อมูล. ศีรษะ ( ) )

ในตัวอย่างนี้ เรากำหนดมาตรฐานรูปแบบวันที่ในชุดข้อมูลให้เป็นรูปแบบวันที่และเวลาของ Python โดยใช้ฟังก์ชัน “pd.to_datetime(data['Date'])” การแปลงคอลัมน์ 'วันที่' เป็นรูปแบบเดียวกัน ช่วยให้ทำงานกับข้อมูลนี้ได้ง่ายขึ้น ผลลัพธ์จะแสดงสองสามแถวแรกของชุดข้อมูลพร้อมกับคอลัมน์ 'วันที่' ที่เป็นมาตรฐาน

บทสรุป

ในการเดินทางของเราผ่านการล้างข้อมูลโดยใช้ Python และ Pandas เราได้เรียนรู้วิธีปรับปรุงข้อมูลเพื่อการวิเคราะห์ เราเริ่มต้นด้วยการทำความเข้าใจว่าเหตุใดการล้างข้อมูลจึงมีความสำคัญมาก มันช่วยให้เราตัดสินใจได้ดีขึ้น เราได้สำรวจวิธีจัดการกับข้อมูลที่ขาดหายไป ลบข้อมูลที่ซ้ำกัน แก้ไขประเภทข้อมูล จัดการกับค่าผิดปกติ และทำให้ข้อมูลของเราดูเหมือนเดิม ด้วยทักษะเหล่านี้ เราจึงเตรียมพร้อมที่จะเปลี่ยนข้อมูลที่ยุ่งเหยิงให้กลายเป็นสิ่งที่เราเชื่อถือได้ และใช้เพื่อค้นหาข้อมูลที่สำคัญได้ การทำความสะอาดข้อมูลเป็นกระบวนการต่อเนื่อง เช่น การทำให้ห้องของเราเป็นระเบียบเรียบร้อย และทำให้เส้นทางการวิเคราะห์ข้อมูลของเราประสบความสำเร็จมากขึ้น