16 ธ.ค. 2021 เวลา 06:49 • วิทยาศาสตร์ & เทคโนโลยี
🔥แชร์เก็บไว้! ทำงาน Excel อัตโนมัติ, จัดการวิเคราะห์ข้อมูล ก็จบครบในโพสท์เดียว!
💯พร้อมโปรแกรมตัวอย่างทดลองเขียนได้ทันที ไม่ว่าจะทำงานบน Excel ทำงานเกี่ยวกับข้อมูล ก็ห้ามพลาด! https://upython.co/must-know-pandas
👍อย่าลืมกดติตตาม Ultimate Python เปลี่ยน Python เป็นเรื่องง่าย ให้ไม่พลาดบทเรียนใหม่ๆ ที่ช่วยเปลี่ยนคุณเป็นผู้ใช้ Python
#UltimatePython
Pandas เป็น Library หรือชุดคำสั่งสำเร็จรูปของ Python ที่รวบรวมคำสั่งต่างๆ สำหรับการใช้จัดการข้อมูลในรูปแบบตาราง ตั้งแต่การดึงข้อมูล จัดการข้อมูล วิเคราะห์ และแสดงผลข้อมูล
เนื่องจากความหลากหลายครอบคลุม และการที่มีคำสั่งอื่นๆ มากมายรองรับทำให้ Pandas กลายเป็น Library สำคัญที่หากใครทำงานเกี่ยวกับข้อมูลจะต้องรู้จัก และถือว่าเป็นพื้นฐานสำคัญอย่างหนึ่งเลย
วันนี้ Ultimate Python รวบรวมหลักการสำคัญ และคำสั่ง ที่จะช่วยให้ทุกคนเข้าใจการทำงานกับ Pandas มากยิ่งขึ้น ถ้าชอบอย่างลืมแชร์เก็บไว้ดู และส่งให้เพื่อนมาเรียนด้วยกันนะ!
สรุปการใช้ Pandas ทำงาน Excel
การทำงานกับข้อมูลตารางที่มีการเก็บข้อมูลเป็น 2 มิติ คือ เก็บใน แถว และคอลัมน์ ซึ่งรูปแบบของตารางนี้เราสามารถพบเจอในทุกวันได้ในหลายรูปแบบ ไม่ว่าจะเป็นไฟล์ ประเภท Excel (.xlsx), .csv หรือแม้แต่ตารางบนเวปไซต์ต่างๆ
ซึ่งในทุกรูปแบบนี้สำหรับการทำงานกับ Pandas สุดท้ายจะมีขั้นตอนการทำงานที่เป็นหลักสำคัญคล้ายๆ กันนั่นคือ เราจะทำการใช้คำสั่งดึงข้อมูลมา เมื่อได้ข้อมูลมาการทำงานจะทำตามขั้นตอน "แยก-ทำ-รวม" คือ การเลือกดึงเฉพาะข้อมูลที่ต้องการ ทำคำสั่งต่างๆ และรวมกลับเป็นหน้าตาที่ต้องการ
ซึ่งเดี๋ยวเราจะมาดูคำสั่งที่ต้องใช้ตั้งแต่เปิดไฟล์ จนถึงการรวมหลายตารางเข้าด้วยกันในโพสท์นี้
การทำงานกับข้อมูลตารางด้วย "แยก-ทำ-รวม"
การทำงานกับข้อมูลเริ่มต้นที่การดึงข้อมูลจากแหล่งมาใช้งานกับ Python โดยแหล่งข้อมูลแรกที่เราจะพูดถึง คือ การดึงข้อมูลจากไฟล์ .xlsx, .csv ซึ่งเป็นประเภทไฟล์ที่ใช้งานเป็นหลักในการทำงานกับข้อมูล
โดยจะมีคำสั่ง .read_excel() และ .read_csv() เป็นคำสั่งสำคัญใช้ตามประเภทไฟล์ .xlsx, .csv ตามลำดับเพื่อดึงข้อมูลจากไฟล์มาใช้งาน โดยการเปิดไฟล์มีหลักสำคัญที่การระบุที่อยู่ของไฟล์ที่ต้องการ ซึ่งจะมีวิธีการระบุ 2 แบบ คือ 1) Absolute Path คือการระบุที่อยู่เต็ม 2) Relative Path คือการระบุที่อยู่เทียบกับโฟลเดอร์ที่ทำงานด้วยปัจจุบัน
อย่าลืมติดตาม Ultimate Python เพื่อติดตามเนื้อหาเจาะลึกถัดๆ ไป : )
ซึ่งข้อมูลที่ใช้ pandas ดึงมาใช้งาน จะได้มาในรูปแบบของ DataFrame เป็นชื่อประเภท Data Structure หรือ Object ของ pandas ไม่ว่าจะดึงจากไฟล์ หรือมาจากที่อื่น หากเปิดด้วย pandas ก็จะได้เป็นข้อมูลประเภทเดียวกัน
นอกจากการดึงข้อมูลจากไฟล์ยังมีการดึงข้อมูลจากเวปมาเป็นตารางแบบอัตโนมัติ ดูต่อในโพสท์นี้
การดึงข้อมูลตารางจากไฟล์
สำหรับการดึงตารางจากเวปไซต์ สามารถใช้คำสั่ง .read_html() และระบุเวปไซต์ที่ต้องการดึงข้อมูลที่อยู่ในรูปแบบตารางบนเวปได้อย่างอัตโนมัติ ทำให้การดึงข้อมูลง่ายสุด อย่างเจ๋งงงง
ซึ่งข้อมูลในเวปไซต์ที่อยู่ในรูปแบบของตารางนั้นจะมีข้อสังเกต คือ ข้อมูลส่วนนนี้จะถูกบันทึกใน html tag ที่ชื่อ table ซึ่ง pandas จะเข้าไปค้นหา และดึงออกมาให้เรา
อย่าลืมติดตาม Ultimate Python เพื่อติดตามบทเรียนเกี่ยวกับการดูข้อมูลจากเวปไซต์ และการเก็บข้อมูลหน้าเวป : )
ข้อมูลที่ได้มาจะได้มาในรูปแบบของ list ที่มีการเก็บ DataFrame ต่างๆ ที่เป็นข้อมูลตารางที่มีอยู่ในเวปนั้นๆ ที่เราระบุ ซึ่งเราจะต้องดึงข้อมูลที่เราต้องการออกมาด้วย [ ] เพื่อเข้าถึงตารางที่เราสนใจอีกครั้ง
ในการทำงานกับข้อมูลเริ่มต้นที่การได้มาซึ่งข้อมูล ซึ่งหลายครั้งมือใหม่ที่อยากทดลองทำงานกับ Data ไม่มีชุดข้อมูลที่จะทำงานด้วย เราจึงเตรียมคำสั่งที่ช่วยสร้างข้อมูลจำลองเพื่อให้ใครก็สามารถนำข้อมูลนี้ไปทดลองทำงานกับข้อมูลได้ ดูต่อในโพสท์นี้
การดึงข้อมูลตารางจากเวปไซต์
สำหรับคนที่ไม่มีชุดข้อมูลในมือ แต่อยากได้ข้อมูลมาทดลองวิทยายุทธ สามารถใช้ Library ชื่อ seaborn คำสั่ง .load_dataset() เพื่อดึงข้อมูลจำลองที่ทาง seaborn รวบรวมไว้ให้แล้วได้โดยการระบุชื่อไฟล์ที่ต้องการ เช่น ต้องการดึงไฟล์ชื่อ tips ก็ใส่ .load_dataset('tips')
ซึ่ง Ultimate Python จะทำการรวบรวมชุดข้อมูลที่สามารถดึงมาทำการวิเคราะห์ต่างๆ ได้ในบทเรียนหน้า อย่าลืม กดติดตาม! Ultimate Python
เมื่อเราได้ข้อมูลมาแล้ว เราจะเข้ากระบวนการ "แยก-ทำ-รวม" แต่ก่อนที่เราจะเริ่ม เราต้องมีการตั้งค่า Column, Row ให้เราสามารถดึงข้อมูลได้อย่างมีประสิทธิภาพ
การดึงข้อมูลตารางจำลองจาก seaborn
เมื่อได้ข้อมูลมา สิ่งที่ต้องทำอย่างแรกคือ การตั้งค่า Column, Row เนื่องจากการเก็บข้อมูลตารางเป็นการอ้างอิงข้อมูลในการจับคู่ Column, Row การดึงข้อมูลก็เช่นเดียวกัน
การดึงข้อมูลจะอาศัยการดึงในชื่อ Column, Row ที่สนใจเพื่อดึงข้อมูลต่างๆ จากตาราง ซึ่ง pandas จะนำข้อมูลบรรทัดแรกมาตั้งเป็นชื่อ Column ซึ่งข้อมูลตัวอย่าง และข้อมูลที่มีการจัดการมาแล้ว จะไม่ค่อยมีปัญหากับชื่อ Column ซึ่งชื่อ Column สังเกตง่ายๆ จะเป็นชื่อสีดำตัวหนาอยู่ด้านบนแถวแรก
แต่ตัวที่จะต้องตั้งแทบทุกครั้งคือชื่อ Row ที่ pandas จะสร้างตำแหน่งเป็นเลขเริ่มต้นที่แถวแรกที่ 0 โดยเราจะต้องเลือก column ที่เหมาะสมไปตั้งเป็นชื่อ row ใช้คำสั่ง .set_index() และเลือกชื่อ column ที่ต้องการเพื่อตั้งเป็นชื่อ row
ในการเลือก column ที่เหมาะสม ต้องดูว่าข้อมูลของเราคืออะไร แล้วเราอยากใช้ข้อมูลอะไรเป็นตัวแทนของข้อมูลในแต่ละบรรทัด เช่น หากเป็นยอดขายของสินค้าแต่ละตัว ชื่อสินค้า หรือ ID ก็ควรจะเป็นชื่อ row
เมื่อเราตั้ง Column, Row แล้วเราจะใช้ชื่อเหล่านี้ดึงข้อมูลออกจาก DataFrame ดูได้ในโพสท์นี้เลย
การตั้งค่า Row เพื่อใช้ดึงข้อมูล
ในการดึงข้อมูลจากตารางเราจะใช้ 2 คำสั่งหลักๆ ที่ใช้ดึงข้อมูลด้วยชื่อ และดึงข้อมูลด้วยตำแหน่ง นั่นคือ .loc และ .iloc
ซึ่งการใช้งานจะใช้ .loc ตามหลัง DataFrame และระบุชื่อ Row ที่ต้องการก่อน คั่นด้วย , และตามด้วย ชื่อ Column ที่ต้องการ ซึ่งใส่ครบจะเป็นการดึงข้อมูลในระดับ cell แต่ถ้าต้องการเป็น column ให้ใส่เฉพาะชื่อ column เว้น row ไว้ และเช่นเดียวกันในการดึง row
ส่วนการดึงด้วยตำแหน่งใช้คำสั่ง .iloc และแทนที่จะใส่ชื่อ ให้ใส่ตำแหน่งของ column, row แทน ซึ่งเริ่มตำแหน่งแรกที่ 0
สำหรับการดึงข้อมูลมีเทคนิคเฉพาะส่วนนี้ก็จำนวนมาก หากชอบคอนเทนต์นี้อย่าลืมติดตาม Ultimate Python ไม่พลาดบทเรียนใหม่ๆ ในอนาคต
เมื่อเราดึงข้อมูลได้เรียบร้อย ตัวนี้จะเป็นขั้นแรกของการทำงานกับข้อมูล หรือการแยก นั่นเอง เมื่อเราได้ข้อมูลที่ต้องการมาแล้ว เราก็จะใช้คำสั่งต่างๆ ทำงานกับข้อมูลตรงนี้
การดึงข้อมูลจากตาราง
สำหรับข้อมูลที่เป็นค่าทางคณิตศาสตร์ เช่น Integer, Float ที่อยู่ใน DataFrame เราสามารถทำการคำนวนทางคณิตศาสตร์กับตัวเลข ได้โดยการใช้สัญลักษณ์ปกติ กับตัวเลขได้เลย
เช่นการนำข้อมูลยอดขายมาคำนวนยอด Vat 7% สามารถนำข้อมูล DataFram * 0.07 จะได้การคำนวนกับตัวเลขมาทันที
สำหรับการทำงานข้ามกันระหว่าง DataFrame กับ DataFrame จะใช้คำสั่ง Method อย่าง .add() ใช้บวกข้อมูลของแต่ละตารางเข้าด้วยกัน โดยนำ .add() ไปต่อหลัง DataFrame ตัวหนึ่ง และ รับค่าเป็น DataFrame อีกตัวหนึ่ง
เนื่องจากการทำงานกับข้อมูลหลายตาราง จะเจอปัญหาที่มีข้อมูลบางตัว บางตัวไม่มีในอีกตาราง จึงต้องใช้คำสั่ง method เหล่านี้ เพื่อที่เราจะสามารถใส่ parameter fill_value=0 จัดการข้อมูลเพิ่มได้
ติดตาม Ultimate Python ติดตามบทเรียนใหม่ๆ ที่จะเจาะลึกประเด็น โครงสร้าง Function และการจัดการข้อมูลเพิ่มเติมเร็วๆนี้
นอกจากการคำนวนทางคณิตศาสตร์พื้นฐาน ยังมีคำสั่งเกี่ยวกับทางสถิติที่เรียกใช้ได้ง่ายๆ อีกด้วย
การคำนวนด้วยตัวเลข และทำงานกับอีกตาราง
สำหรับการคำนวนทางสถิติ สามารถเรียกใช้คำสั่งในรูปแบบของ Method กับ DataFrame ได้โดยตรง ทั้งการหาค่า mean, max, min , std, count หรือดูภาพรวมของข้อมูล ด้วย .describe()
ซึ่งการทำงานกับ DataFrame นอกจากการทำงานกับตัวเลข และการทำงานกับคำสั่งสำเร็จรูป เรายังสามารถสร้างคำสั่งที่เราออกแบบเอง และนำมาใช้กับ DataFrame ได้ด้วย
การคำนวนทางสถิติ
สำหรับคำสั่งที่เฉพาะเจาะจง ที่ต้องการออกแบบเองเพื่อใช้ทำงานกับข้อมูลในตาราง เราสามารถใช้คำสั่ง .applymap() รับ function ที่เก็บคำสั่งที่เราต้องการเพื่อนำไปใช้กับข้อมูลใน DataFrame ได้เลย
ซึ่งการทำงานกับข้อมูล DataFrame จะมีจุดน่าสนในอย่างหนึ่ง คือ ข้อมูล DataFrame มีพื้นฐานมาจากข้อมูลที่เรียกว่า Series ซึ่งทั้งสองข้อมูลนี้เป็นโครงสร้างที่ทำงานร่วมกันได้ในหลายกรณีมากๆ
ซึ่งสำหรับ Series ก็เป็นชุดข้อมูลเหมือนกันที่เราสามารถใช้คำสั่ง .apply() ที่ใช้งานในลักษณะเดียวกันกับ .applymap() ของ DataFrame ที่ช่วยนำคำสั่งที่เราต้องการนำเข้าไปทำงานกับข้อมูลในชุดข้อมูล
ซึ่งการทำงานกับคำสั่งลักษณะนี้จะเป็นคำสั่งที่ทำงานกับพวกข้อความตัวหนังสือในตารางเป็นส่วนใหญ่ ซึ่งการทำงานก็จะมีขั้นตอน "แยก-ทำ-รวม" เช่นเดียวกัน ซึ่งในตัวอย่างเป็นการดึง column ที่เก็บเพศมา และใช้คำสั่งที่ทำให้กลายเป็นตัวอักษรตัวเล็ก เมื่อทำเสร็จก็จะเข้าสู่ขัั้นตอนการรวม ที่เราจะนำข้อมูลใหม่นี้ใส่กลับตารางเดิม
การสร้างคำสั่งทำงานกับ Excel
เมื่อเรามีการทำงานกับข้อมูลในส่วนที่เราต้องการเรียบร้อยแล้ว เราจะนำข้อมูลที่สร้างขึ้นใหม่ไปรวมกับข้อมูลเดิม เพื่อใช้แสดงผลในรูปแบบตารางที่พร้อมใช้งาน
โดยจะใช้คำสั่ง .merge() เป็นคำสั่งหลัก ในการเชื่อมข้อมูลแบบ "database" กล่าวคือ เป็นการรวมข้อมูลโดยเพิ่ม column ไปใหม่ และมีการตรวจจับให้เข้ากับข้อมูลแต่ละ row อัตโนมัติ เช่น หากมีข้อมูลเดียวกันที่อยู่คนละ row ในแต่ละตาราง pandas จะทำการเชื่อมข้อมูลที่ถูกต้องให้
ซึ่งเราจะใส่ parameter left_index=True, right_index=True เพื่อบอก pandas ว่าเราจะทำการเชื่อมข้อมูลโดยให้ pandas ดูที่ index ของแต่ละตารางในการใช้จับคู่
และนี่คือการใช้ pandas ทำงานต่างๆ ด้วยกระบวนการ "แยก-ทำ-รวม" ถ้าชอบคอนเทนต์แนวนี้อย่าลืมแชร์ให้เพื่อนดู แชร์เก็บไว้ดู แท็กเพื่อนมาติดบัคกัน
และอย่าลืมติดตาม Ultimate Python ให้ไม่พลาดบทเรียนใหม่ๆ
การรวมตาราง
ขายของ > ถ้าคุณกำลังสนใจเรียน Python แบบใช้ได้จริงรอบตัวทันที ในรูปแบบที่เรียนได้จาก 0
สามารถเรียนกับแพ็คเก็จการเรียนคอร์สวิดีโอของ Ultimate Python ได้ในราคา เดือนละ 499 บาท พร้อมการดูแลโดยตรงจากผู้สอน ดูรายละเอียดเพิ่มเติม upython.co/ultimate-pack
เรียนคอร์สวิดีโอรายเดือน
ขายของ > ถ้าคุณกำลังหาคอร์สเรียนสดที่ช่วยปูพื้นฐาน Python จาก 0 แบบใช้ได้จริงทันที และต่อยอดเองได้หลังเรียนจบ แบบมีคนดูแล
เรียนกับ Bootcamp แพ็คเก็จการเรียน Python ที่ประกอบด้วยคอร์สเรียน 8 สัปดาห์ คอร์สวิดีโอแถม และกลุ่มการดูแลตั้งแต่วันแรกที่เรียนจนนำไปใช้งานจริง ดูรายละเอียดเพิ่มเติม upython.co/p-bootcamp
เรียนสด 8 สัปดาห์ ใน Bootcamp
โฆษณา