MultiIndex ใน Pandas สำหรับข้อมูลหลายระดับหรือลำดับชั้น

MultiIndex ใน Pandas สำหรับข้อมูลหลายระดับหรือลำดับชั้น

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

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

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

สารบัญ

วิธีใช้ MultiIndex ใน Pandas

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

MultiIndex ใน Pandas สำหรับข้อมูลหลายระดับหรือลำดับชั้น

ดังที่คุณเห็นที่นี่ เรามีดัชนีหรือลำดับชั้นอีกครั้ง ฉันควรจะบอกว่าเรามีทวีปหนึ่งประเทศ แล้วก็หนึ่งปี ปัจจุบัน ดัชนีเป็นเพียงตัวเลขแบบนี้ และเรากำลังจะสร้างดัชนีของเราเองในตอนนี้ และวิธีที่เราจะทำก็คือ Gapminder เราจะตั้งค่าดัชนี เราจะตั้งค่าเป็นทวีป ประเทศ และปี แทนค่าเท่ากับ ( = ) จริง

MultiIndex ใน Pandas สำหรับข้อมูลหลายระดับหรือลำดับชั้น

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

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

MultiIndex ใน Pandas สำหรับข้อมูลหลายระดับหรือลำดับชั้น

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

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

MultiIndex ใน Pandas สำหรับข้อมูลหลายระดับหรือลำดับชั้น

ข้อดีอีกอย่างของ MultiIndex ใน Pandas คือการปรับรูปร่างข้อมูลใหม่ได้ง่ายกว่ามาก ฉันสามารถทำgapminder_pivotแล้วgapminder.unstack ถ้าฉันต้องปรับรูปร่างชุดข้อมูลนี้ใหม่ ด้วยเหตุผลบางอย่าง ฉันจะพิมพ์ออกมา และคุณจะเห็นว่าตอนนี้เรามีทวีป ประเทศ และปี พร้อมกับคอลัมน์

MultiIndex ใน Pandas สำหรับข้อมูลหลายระดับหรือลำดับชั้น

สมมติว่าฉันต้องการทำในทิศทางตรงกันข้าม สิ่งที่ฉันต้องทำคือ unpivot และเรากำลังจะทำgapminder_pivot หากนั่นคือการเลิกสแต็ก แสดงว่าเป็นการสแต็ก gapminder_unpivot

MultiIndex ใน Pandas สำหรับข้อมูลหลายระดับหรือลำดับชั้น

ทีนี้ ถ้าฉันต้องการกำจัดดัชนีนี้และรีเซ็ตมันและเปลี่ยนเป็นอย่างอื่นล่ะ สิ่งที่ฉันต้องทำในกรณีนี้คือ gapminder_unpivot เรากำลังจะไปreset_index เรากำลังจะทำการแทนที่อีกครั้ง เราไม่ต้องประหยัดเกินตัว มันมีประสิทธิภาพมากกว่าเล็กน้อย จากนั้น gapminder_unpivot

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

MultiIndex ใน Pandas สำหรับข้อมูลหลายระดับหรือลำดับชั้น


Python ใน LuckyTemplates: วิธีติดตั้งและตั้งค่า
การเขียนสคริปต์ Python ในรายงานข้อมูล LuckyTemplates
LuckyTemplates ด้วยการเขียนสคริปต์ Python เพื่อสร้างตารางวันที่

บทสรุป

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

วิธีนี้ใช้ได้ดีถ้าคุณกำลังทำงานกับแถวที่ไม่ซ้ำ โดยพยายามค้นหาหลายคอลัมน์

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

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

ดีที่สุด!


ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

วิธีบันทึกและโหลดไฟล์ RDS ใน R

วิธีบันทึกและโหลดไฟล์ RDS ใน R

คุณจะได้เรียนรู้วิธีการบันทึกและโหลดวัตถุจากไฟล์ .rds ใน R บล็อกนี้จะครอบคลุมถึงวิธีการนำเข้าวัตถุจาก R ไปยัง LuckyTemplates

เยี่ยมชม N วันทำการแรก – โซลูชันภาษาการเข้ารหัส DAX

เยี่ยมชม N วันทำการแรก – โซลูชันภาษาการเข้ารหัส DAX

ในบทช่วยสอนภาษาการเข้ารหัส DAX นี้ เรียนรู้วิธีใช้ฟังก์ชัน GENERATE และวิธีเปลี่ยนชื่อหน่วยวัดแบบไดนามิก

แสดงข้อมูลเชิงลึกโดยใช้เทคนิคการแสดงภาพแบบไดนามิกแบบหลายเธรดใน LuckyTemplates

แสดงข้อมูลเชิงลึกโดยใช้เทคนิคการแสดงภาพแบบไดนามิกแบบหลายเธรดใน LuckyTemplates

บทช่วยสอนนี้จะครอบคลุมถึงวิธีการใช้เทคนิค Multi Threaded Dynamic Visuals เพื่อสร้างข้อมูลเชิงลึกจากการแสดงข้อมูลแบบไดนามิกในรายงานของคุณ

บทนำในการกรองบริบทใน LuckyTemplates

บทนำในการกรองบริบทใน LuckyTemplates

ในบทความนี้ ฉันจะเรียกใช้ผ่านบริบทตัวกรอง บริบทตัวกรองเป็นหนึ่งในหัวข้อหลักที่ผู้ใช้ LuckyTemplates ควรเรียนรู้ในขั้นต้น

เคล็ดลับที่ดีที่สุดในการใช้แอปใน LuckyTemplates Online Service

เคล็ดลับที่ดีที่สุดในการใช้แอปใน LuckyTemplates Online Service

ฉันต้องการแสดงให้เห็นว่าบริการออนไลน์ของ LuckyTemplates Apps สามารถช่วยในการจัดการรายงานและข้อมูลเชิงลึกต่างๆ ที่สร้างจากแหล่งข้อมูลต่างๆ ได้อย่างไร

วิเคราะห์การเปลี่ยนแปลงอัตรากำไรล่วงเวลา – การวิเคราะห์ด้วย LuckyTemplates และ DAX

วิเคราะห์การเปลี่ยนแปลงอัตรากำไรล่วงเวลา – การวิเคราะห์ด้วย LuckyTemplates และ DAX

เรียนรู้วิธีคำนวณการเปลี่ยนแปลงอัตรากำไรของคุณโดยใช้เทคนิคต่างๆ เช่น การแยกสาขาและการรวมสูตร DAX ใน LuckyTemplates

แนวคิด Materialization สำหรับแคชข้อมูลใน DAX Studio

แนวคิด Materialization สำหรับแคชข้อมูลใน DAX Studio

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

การรายงานทางธุรกิจโดยใช้ LuckyTemplates

การรายงานทางธุรกิจโดยใช้ LuckyTemplates

หากคุณยังคงใช้ Excel อยู่จนถึงตอนนี้ นี่เป็นเวลาที่ดีที่สุดในการเริ่มใช้ LuckyTemplates สำหรับความต้องการในการรายงานทางธุรกิจของคุณ

เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้

เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้

เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้