นี่คือเหตุผลที่ Pandas เป็นไลบรารีการวิเคราะห์ข้อมูล Python ที่ได้รับความนิยมสูงสุด

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

นอกจาก NumPy แล้ว ยังเป็นหนึ่งในไลบรารีและเครื่องมือที่ต้องรู้จักสำหรับทุกคนที่ทำงานกับข้อมูลและ AI

ในบทความนี้ เราจะสำรวจ Pandas และคุณสมบัติที่ทำให้เป็นที่นิยมในระบบนิเวศข้อมูล

แพนด้าคืออะไร?

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

ชื่อ ‘แพนด้า’ มาจากการรวมคำว่า Panel Data ซึ่งเป็นคำศัพท์ทางเศรษฐมิติที่หมายถึงข้อมูลที่ได้จากการสังเกตบุคคลหลายคนในช่วงเวลาหนึ่ง Pandas เปิดตัวครั้งแรกในเดือนมกราคม พ.ศ. 2551 โดยเวส คินนีย์ และตั้งแต่นั้นเป็นต้นมาก็กลายเป็นห้องสมุดที่ได้รับความนิยมสูงสุดสำหรับกรณีการใช้งาน

หัวใจของ Pandas คือโครงสร้างข้อมูลสำคัญ 2 โครงสร้างที่คุณควรคุ้นเคย ได้แก่ Dataframes และ Series เมื่อคุณสร้างหรือโหลดชุดข้อมูลใน Pandas ชุดข้อมูลนั้นจะแสดงเป็นโครงสร้างข้อมูลหนึ่งในสองโครงสร้างนั้น

ในหัวข้อถัดไป เราจะมาดูกันว่ามันคืออะไร แตกต่างกันอย่างไร และเมื่อใดควรใช้อย่างใดอย่างหนึ่งในอุดมคติ

โครงสร้างข้อมูลที่สำคัญ

ตามที่กล่าวไว้ก่อนหน้านี้ ข้อมูลทั้งหมดใน Pandas จะแสดงโดยใช้หนึ่งในสองโครงสร้างข้อมูล ได้แก่ Dataframe หรือ Series โครงสร้างข้อมูลทั้งสองนี้มีรายละเอียดอธิบายด้านล่าง

ดาต้าเฟรม

dataframe ตัวอย่างนี้สร้างขึ้นโดยใช้ข้อมูลโค้ดที่ด้านล่างของส่วนนี้

Dataframe ใน Pandas เป็นโครงสร้างข้อมูลสองมิติที่มีคอลัมน์และแถว ซึ่งคล้ายกับสเปรดชีตในแอปพลิเคชันสเปรดชีตหรือตารางในฐานข้อมูลเชิงสัมพันธ์

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

  ก่อน Mac OS X: NextSTEP คืออะไร และทำไมผู้คนถึงชอบมัน?

คอลัมน์ในดาต้าเฟรมสามารถมีชื่อที่สื่อความหมายเพื่อให้แยกความแตกต่างจากกัน ชื่อเหล่านี้ถูกกำหนดเมื่อมีการสร้างหรือโหลด dataframe แต่สามารถเปลี่ยนชื่อได้อย่างง่ายดายเมื่อใดก็ได้

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

Dataframes ยังมีดัชนีที่ใช้ในการอ้างอิงแถว ค่าในคอลัมน์ต่างๆ แต่มีดัชนีเดียวกันในแถว ตามค่าเริ่มต้น ดัชนีจะถูกกำหนดเป็นตัวเลข แต่สามารถกำหนดใหม่ได้เพื่อให้เหมาะกับชุดข้อมูล ในตัวอย่าง (ภาพด้านบน โค้ดด้านล่าง) เราตั้งค่าคอลัมน์ดัชนีเป็นคอลัมน์ ‘เดือน’

import pandas as pd

sales_df = pd.DataFrame({
    'Month': ['January', 'February', 'March'],
    'Jane Doe': [5000, 6000, 5500],
    'John Doe': [4500, 6700, 6000]
})

sales_df.set_index(['Month'], inplace=True)

print(sales_df)

ชุด

ซีรี่ส์ตัวอย่างนี้สร้างขึ้นโดยใช้รหัสที่ด้านล่างของส่วนนี้

ตามที่กล่าวไว้ก่อนหน้านี้ ซีรี่ส์ใช้เพื่อแสดงคอลัมน์ของข้อมูลใน Pandas ดังนั้น Series จึงเป็นโครงสร้างข้อมูลหนึ่งมิติ ซึ่งตรงกันข้ามกับ Dataframe ที่เป็นสองมิติ

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

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

ในตัวอย่าง (ภาพด้านบน โค้ดด้านล่าง) ดัชนีถูกตั้งค่าเป็นเดือนต่างๆ โดยใช้เมธอด set_axis ของออบเจกต์ Pandas Series

import pandas as pd

total_sales = pd.Series([9500, 12700, 11500])
months = ['January', 'February', 'March']

total_sales = total_sales.set_axis(months)

print(total_sales)

คุณสมบัติของหมีแพนด้า

ตอนนี้คุณมีความคิดที่ดีว่า Pandas คืออะไรและโครงสร้างข้อมูลหลักที่ใช้ เราสามารถเริ่มพูดคุยเกี่ยวกับคุณสมบัติที่ทำให้ Pandas เป็นไลบรารีการวิเคราะห์ข้อมูลที่ทรงพลัง และเป็นผลให้เป็นที่นิยมอย่างมากใน Data Science และ Machine Learning ระบบนิเวศ

#1. การจัดการข้อมูล

อ็อบเจ็กต์ Dataframe และ Series นั้นไม่แน่นอน คุณสามารถเพิ่มหรือลบคอลัมน์ได้ตามต้องการ นอกจากนี้ Pandas ยังให้คุณเพิ่มแถวและแม้แต่รวมชุดข้อมูล

  วิธีดูข้อความที่ถูกบล็อกบน iPhone

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

#2. การล้างข้อมูล

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

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

#3. การแสดงข้อมูล

กราฟนี้ถูกสร้างขึ้นด้วยรหัสด้านล่างส่วนนี้

แม้ว่าจะไม่ใช่ไลบรารีการแสดงภาพเหมือน Matplotlib แต่ Pandas ก็มีฟังก์ชันสำหรับสร้างการแสดงข้อมูลพื้นฐาน และแม้ว่าจะเป็นพื้นฐาน แต่ส่วนใหญ่ก็ยังทำงานให้เสร็จได้

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

import pandas as pd

sales_df = pd.DataFrame({
    'Month': ['January', 'February', 'March'],
    'Jane Doe': [5000, 6000, 5500],
    'John Doe': [4500, 6700, 6000]
})

sales_df.set_index(['Month'], inplace=True)

sales_df.plot.line()

#4. การวิเคราะห์อนุกรมเวลา

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

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

#5. อินพุต / เอาท์พุตใน Pandas

Pandas สามารถอ่านข้อมูลจากรูปแบบการจัดเก็บข้อมูลทั่วไป ซึ่งรวมถึง JSON, SQL Dumps และ CSV คุณยังสามารถเขียนข้อมูลไปยังไฟล์ในรูปแบบต่างๆ เหล่านี้ได้อีกด้วย

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

  แก้ไขรหัสข้อผิดพลาด Xbox One 0X87E107DF

#6. การรวมเข้ากับไลบรารีอื่น

Pandas ยังมีระบบนิเวศของเครื่องมือและไลบรารีมากมายที่สร้างขึ้นเพื่อเสริมการทำงานของมัน สิ่งนี้ทำให้ห้องสมุดมีประสิทธิภาพและมีประโยชน์มากยิ่งขึ้น

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

การพิจารณาประสิทธิภาพและประสิทธิภาพใน Pandas

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

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

Vectorization เป็นรูปแบบหนึ่งของการขนานที่การดำเนินการเดียวกันถูกนำไปใช้กับจุดข้อมูลหลายจุดพร้อมกัน สิ่งนี้เรียกว่า SIMD – Single Instruction, Multiple Data การใช้ประโยชน์จากการดำเนินการ vectorized จะช่วยปรับปรุงความเร็วและประสิทธิภาพของ Pandas ได้อย่างมาก

เนื่องจากพวกเขาใช้อาร์เรย์ NumPy ภายใต้ประทุน โครงสร้างข้อมูล DataFrame และ Series จึงเร็วกว่าพจนานุกรมและรายการทางเลือก

การใช้งาน Pandas เริ่มต้นทำงานบน CPU คอร์เดียวเท่านั้น อีกวิธีในการเพิ่มความเร็วโค้ดของคุณคือการใช้ไลบรารีที่ช่วยให้ Pandas ใช้งาน CPU cores ทั้งหมดที่มีอยู่ได้ ได้แก่ Dask, Vaex, Modin และ IPython

ชุมชนและทรัพยากร

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

นอกจากนี้ยังมีชุมชนออนไลน์บนแพลตฟอร์มเช่น Reddit ใน subreddits r/Python และ r/Data Science เพื่อถามคำถามและรับคำตอบ ในฐานะที่เป็นไลบรารีแบบโอเพ่นซอร์ส คุณสามารถรายงานปัญหาเกี่ยวกับ GitHub และแม้กระทั่งร่วมเขียนโค้ดได้

คำสุดท้าย

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

ต่อไป ดูวิธีสร้าง Pandas DataFrame

เรื่องล่าสุด

x