ปัจจุบันการทำงานด้วยข้อมูลด้วย Data นั้นกำลังเป็นที่นิยมอย่างมากๆ เลย มีงานให้ทำกันเพียบ วันนี้เริ่มต้นด้วยการขอแนะนำให้รู้จักกับโลกของ Data Analytics ที่ไม่ได้เคร่งเครียดอย่างที่เราคิด ลองจินตนาการว่า Data Analytics เป็นเหมือนนักสืบอัจฉริยะที่สวมแว่นขยายและถือถ้วยกาแฟไปด้วย แล้วกำลังพยายามไขคดีใหญ่ในโลกดิจิทัลของเรา อย่างเช่น1. นักสืบตัวจริงไม่เคยทำงานคนเดียว: Data Analytics ก็เช่นกัน ข้อมูลที่ได้มามักไม่เป็นระเบียบ เหมือนกับห้องนอนหลังจากที่เราตื่นนอนแล้วไม่ได้เก็บที่นอน นักวิเคราะห์ข้อมูลจึงต้องมีเครื่องมือที่ช่วยให้ข้อมูลทั้งหมดดูเป็นระเบียบ และน่าจะทำให้แม่ภูมิใจได้บ้าง2. ความลับซ่อนอยู่ในข้อมูล: Data Analytics ชอบความท้าทายในการหาคำตอบที่ซ่อนอยู่ในข้อมูล เหมือนกับนักสืบที่พยายามหาว่าใครขโมยขนมเค้กในตู้เย็น เมื่อเราใช้ Data Analytics ข้อมูลต่างๆ ก็จะถูกถอดรหัสออกมาเป็นสิ่งที่สามารถนำไปใช้ได้จริง ๆ ไม่ว่าจะเป็นการทำให้ยอดขายพุ่ง หรือการทำให้หัวหน้าเซอร์ไพรส์ด้วยรายงานสุดเท่3. ต้องรู้จักถามคำถาม: หากเราคิดว่า Data Analytics คือการนั่งอ่านข้อมูลอย่างเดียว เราคิดผิด การถามคำถามที่ถูกต้องคือหัวใจสำคัญ เช่น "ใครคือกลุ่มลูกค้าที่ซื้อมากที่สุด?" หรือ "ทำไมลูกค้าไม่ซื้อขนมปังที่ขายไปเมื่อเดือนที่แล้ว?" การถามคำถามเหล่านี้จะช่วยให้เราได้คำตอบที่น่าสนใจออกมา4. AI กับ Data Analytics เป็นเหมือนคู่หูนักสืบ: ขณะที่นักสืบมักมีผู้ช่วย AI ก็เป็นเหมือนผู้ช่วยของ Data Analytics ที่สามารถจัดการข้อมูลจำนวนมากๆ ได้ภายในเสี้ยววินาที แถมยังไม่บ่นอีกต่างหาก แต่ต้องระวังหน่อย เพราะถ้าไม่สอนดี ๆ AI อาจจะทำให้เราเข้าใจผิดไปได้เช่นกัน5. ทุกอย่างมันอยู่ที่การวิเคราะห์: บางครั้งการวิเคราะห์อาจจะเหมือนกับการทำอาหารที่ต้องการส่วนผสมที่พอดี ไม่มากไป ไม่น้อยไป การที่เรารู้จักวิเคราะห์ข้อมูลให้ตรงจุด จะทำให้ได้ผลลัพธ์ที่ดี ไม่ว่าจะเป็นการทำให้ยอดขายพุ่งกระฉูด หรือการหาวิธีลดต้นทุนในธุรกิจ และถ้าเราเป็นสาย Data เราคงเคยเจอกับทั้ง SQL และ Pandas มาแล้ว เพราะสองเครื่องมือสุดฮิตนี้ถูกใช้ในการจัดการและวิเคราะห์ข้อมูลเป็นประจำ แต่ถ้าต้องเปรียบเทียบ Pandas บน Python กับคำสั่ง SQL แบบคร่าวๆ ว่าใช้ยังไงบ้าง มาดูกันเลยสำหรับคนที่ยังไม่เคยรู้จัก Pandas มาทำความรู้จัก Pandas กันก่อนนะ(ภาพสัญลักษณ์ของ Pandas) Pandas เป็นไลบรารีโอเพนซอร์สที่ได้รับความนิยมมากในภาษา Python ใช้สำหรับการวิเคราะห์ข้อมูลและการจัดการข้อมูลโดยเฉพาะ เหมือนกับมีเครื่องมือชั้นยอดในการจัดระเบียบ ทำความสะอาด และแปลงข้อมูลให้อยู่ในรูปแบบที่สามารถวิเคราะห์และใช้งานได้ง่ายขึ้น มาดูกันว่ามันทำอะไรได้บ้าง:1. โครงสร้างข้อมูลที่ใช้งานง่าย - Pandas มีสองโครงสร้างหลัก: - Series: เหมือนกับลิสต์ใน Python แต่มีดัชนี (index) กำกับ สามารถเข้าถึงข้อมูลแต่ละรายการได้โดยตรง - DataFrame: โครงสร้างข้อมูลแบบตารางที่คล้ายกับ Excel มีแถวและคอลัมน์ ทำให้การทำงานกับข้อมูลที่มีหลายมิติง่ายขึ้นมาก2. การนำเข้าข้อมูล - Pandas ช่วยให้นำเข้าข้อมูลจากหลายแหล่งได้ง่าย ๆ เช่น ไฟล์ .csv, Excel, SQL Database, และแม้กระทั่ง JSON หรือ HTML3. การจัดการข้อมูล - Pandas มีฟังก์ชันที่ช่วยให้สามารถกรองข้อมูล, เติมค่าที่หายไป, แปลงข้อมูล, รวมข้อมูลจากหลายแหล่ง และแม้กระทั่งสร้างคอลัมน์ใหม่ได้อย่างง่ายดาย4. การวิเคราะห์ข้อมูล - Pandas มีเครื่องมือในการคำนวณสถิติพื้นฐาน, สร้างกราฟและแผนภูมิ, และสร้างข้อมูลสรุปเชิงสถิติได้อย่างรวดเร็ว5. การทำความสะอาดข้อมูล - หนึ่งในจุดเด่นของ Pandas คือความสามารถในการทำความสะอาดข้อมูลได้อย่างมีประสิทธิภาพ ไม่ว่าจะเป็นการลบค่า null, การจัดรูปแบบข้อมูลใหม่ หรือการเปลี่ยนแปลงข้อมูลที่ไม่สอดคล้อง6. การทำงานกับข้อมูลขนาดใหญ่ - ถึงแม้ Pandas จะมีข้อจำกัดเมื่อทำงานกับข้อมูลขนาดใหญ่มากๆ แต่ก็ยังคงมีประสิทธิภาพในการจัดการกับข้อมูลที่อยู่ในระดับล้านแถว และสามารถใช้ร่วมกับเครื่องมืออื่น ๆ เช่น Dask เพื่อเพิ่มประสิทธิภาพได้นะสรุปแล้ว Pandas เป็นเหมือนมีดพับสวิสในโลกของการวิเคราะห์ข้อมูล ไม่ว่าเราจะเป็นนักพัฒนาซอฟต์แวร์ นักวิทยาศาสตร์ข้อมูล หรือนักวิเคราะห์ธุรกิจ การมีความรู้เกี่ยวกับ Pandas จะทำให้การจัดการข้อมูลของเราเป็นเรื่องง่ายและสนุกขึ้นมาก เปรียบเทียบ Pandas กับ SQL ยกแรกเริ่มต้นด้วยการเปรียบเทียบให้ดูก่อนว่า Pandas กับ SQL แตกต่างกันอย่างไรในเบื้องต้นเท่านั้นนะ จริงๆ ทั้งสองเครื่องมืออาจจะมีความสามารถที่ไม่ได้บอกอีกเยอะมากๆ(ภาพเปรียบเทียบ Pandas และ SQL) ว่ากันด้วยลักษณะการเก็บข้อมูลกันก่อน เริ่มต้นที่ SQL ตัว SQL จะเป็นภาษาที่ใช้ในการจัดการกับข้อมูลที่อยู่ใน Database หรือฐานข้อมูลของเรานี่เอง โดยข้อมูลจะถูกเก็บอยู่ในรูปของตาราง เหมือนกับที่เรามองเห็นใน Excel เลยครับ แต่เก็บได้ปริมาณเยอะมากๆ และเก็บได้หลายตาราง (มองง่ายๆ 1 ตารางคือ 1 Sheet ใน Excel) และเอาข้อมูลมาเชื่อมต่อความสัมพันธ์กันได้ มาดูตัวอย่างกัน อันนี้ลองเอาตัวอย่างข้อมูลโดยการใช้คำสั่ง SQL ดึงออกมาให้ดูกันนะ(ภาพตัวอย่างที่ดึงด้วยคำสั่ง SQL) หลายๆ ท่านน่าจะคุ้นเคยกับ SQL อยู่บ้างแล้ว ไปดูฝั่ง Pandas กันบ้าง ลักษณะข้อมูลของ Pandas จะถูกว่า DataFrames ให้มองคล้ายๆ กับตารางในโปรแกรม Excel นั่นหล่ะครับ เหมือนกันเลย ลักษณะข้อมูลใน Pandas จะเป็นตารางประมาณนี้เลย (เวลาเราจะเข้าถึงข้อมูลก็เข้าถึง Row หรือ Column ก็ได้ครับ ตามสะดวกแบบที่เราอยากทำเลย)(ภาพ DataFrames ใน Pandas) ไปดูความแตกต่างระหว่าง Pandas กับ SQL ในการทำงานพื้นฐานบางอย่างกัน1. SELECTSQL:SELECT * FROM table_name WHERE condition;Pandas:df[df['column_name'] == condition]SQL ใช้ SELECT เพื่อดึงข้อมูลจากตารางตามเงื่อนไข ส่วน Pandas ใช้ DataFrame และเลือกแถวที่ตรงกับเงื่อนไขด้วยการใช้ [] 2. WHERESQL:SELECT * FROM table_name WHERE column_name > 50;Pandas:df[df['column_name'] > 50]ใน SQL เราใช้ WHERE เพื่อกรองข้อมูล ส่วนใน Pandas เราใช้การเลือกข้อมูลที่ตรงตามเงื่อนไขใน DataFrame ได้เลย 3. JOINSQL:SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id;Pandas:pd.merge(df1, df2, on='id', how='inner')SQL ใช้ JOIN เพื่อรวมข้อมูลจากหลายตาราง ส่วน Pandas ใช้ merge() เพื่อรวม DataFrame ตามคอลัมน์ที่ต้องการ 4. GROUP BYSQL:SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;Pandas:df.groupby('column_name').size()ใน SQL เราใช้ GROUP BY เพื่อจัดกลุ่มข้อมูลและทำการนับ (หรือทำ Aggregation) ส่วนใน Pandas เราใช้ groupby() เพื่อจัดกลุ่มและใช้ฟังก์ชัน .size() หรืออื่นๆ ในการคำนวณ 5. ORDER BYSQL:SELECT * FROM table_name ORDER BY column_name DESC;Pandas:df.sort_values(by='column_name', ascending=False)SQL ใช้ ORDER BY เพื่อจัดเรียงข้อมูลตามลำดับที่ต้องการ ส่วนใน Pandas ใช้ sort_values() เพื่อจัดเรียงข้อมูลใน DataFrame 6. INSERT INTOSQL:INSERT INTO table_name (column1, column2) VALUES (value1, value2);Pandas:df.loc[len(df)] = [value1, value2]SQL ใช้ INSERT INTO เพื่อเพิ่มข้อมูลลงในตาราง ส่วนใน Pandas ใช้ loc เพื่อเพิ่มข้อมูลลงใน DataFrame 7. UPDATESQL:UPDATE table_name SET column_name = new_value WHERE condition;Pandas:pythondf.loc[df['column_name'] == condition, 'column_name'] = new_valueSQL ใช้ UPDATE เพื่อแก้ไขข้อมูลที่มีอยู่ ส่วนใน Pandas ใช้ loc เพื่อเข้าถึงข้อมูลที่ต้องการและแก้ไขได้ตรงๆ 8. DELETESQL:DELETE FROM table_name WHERE condition;Pandas:df = df[df['column_name'] != condition]SQL ใช้ DELETE เพื่อลบข้อมูลที่ไม่ต้องการ ส่วนใน Pandas เราสามารถเลือกข้อมูลที่ต้องการเก็บไว้และแทนที่ DataFrame เดิมได้เลย ส่งท้ายทั้ง SQL และ Pandas ต่างก็มีความสามารถในการจัดการข้อมูลได้อย่างยอดเยี่ยม ถ้าเราคุ้นเคยกับ SQL อยู่แล้ว การปรับตัวมาใช้ Pandas จะไม่ยากเลย และถ้าเราต้องการความยืดหยุ่นในการเขียนโค้ด Python, Pandas ก็เป็นตัวเลือกที่ยอดเยี่ยมในการจัดการข้อมูลขนาดใหญ่ ไม่ว่าจะทำอะไร ทั้งสองเครื่องมือนี้ก็พร้อมจะช่วยให้ชีวิต Data Scientist ของเราง่ายขึ้น ภาพโดยนักเขียน และภาพสัญลักษณ์ Pandas จาก pandas.pydata.orgหมีขั้วโลก ทอดกรอบ〔´(エ)`〕 เปิดประสบการณ์ความบันเทิงที่หลากหลายสุดปัง บน App TrueID โหลดเลย ฟรี !