วิธีทำให้ multiindex แบนใน pandas (พร้อมตัวอย่าง)
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อทำให้ MultiIndex แบนราบในแพนด้า:
#flatten all levels of MultiIndex df. reset_index (inplace= True ) #flatten specific levels of MultiIndex df. reset_index (inplace= True , level = [' level_name '])
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่างที่ 1: ทำให้ MultiIndex ทุกระดับใน Pandas เรียบขึ้น
สมมติว่าเรามีแพนด้า MultiIndex DataFrame ดังต่อไปนี้:
import pandas as pd #createDataFrame index_names = pd. MultiIndex . from_tuples ([('Level1','Lev1', 'L1'), ('Level2','Lev2', 'L2'), ('Level3','Lev3', 'L3'), ('Level4','Lev4', 'L4')], names=['Full','Partial', 'ID']) data = {'Store': ['A','B','C','D'], 'Sales': [12, 44, 29, 35]} df = pd. DataFrame (data, columns = [' Store ',' Sales '], index=index_names) #view DataFrame df Store Sales Full Partial ID Level1 Lev1 L1 A 17 Level2 Lev2 L2 B 22 Level3 Lev3 L3 C 29 Level4 Lev4 L4 D 35
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อทำให้ MultiIndex แต่ละระดับเรียบลงในคอลัมน์ของ DataFrame:
#flatten every level of MultiIndex df. reset_index (inplace= True ) #view updated DataFrame df Full Partial ID Store Sales 0 Level1 Lev1 L1 A 12 1 Level2 Lev2 L2 B 44 2 Level3 Lev3 L3 C 29 3 Level4 Lev4 L4 D 35
โปรดทราบว่าตอนนี้ MultiIndex แต่ละระดับจะเป็นคอลัมน์ใน DataFrame
ตัวอย่างที่ 2: ทำให้ MultiIndex ระดับเฉพาะใน Pandas เรียบลง
สมมติว่าเรามี DataFrame แพนด้าเดียวกันกับตัวอย่างก่อนหน้านี้:
#view DataFrame df Store Sales Full Partial ID Level1 Lev1 L1 A 12 Level2 Lev2 L2 B 44 Level3 Lev3 L3 C 29 Level4 Lev4 L4 D 35
รหัสต่อไปนี้แสดงวิธีการทำให้ MultiIndex ระดับใดระดับหนึ่งเรียบลง:
#flatten 'ID' level only
df. reset_index (inplace= True ,level=[' ID '])
#view updated DataFrame
df
ID Store Sales
Full Partial
Level1 Lev1 L1 A 12
Level2 Lev2 L2 B 44
Level3 Lev3 L3 C 29
Level4 Lev4 L4 D 35
และโค้ดต่อไปนี้แสดงวิธีการทำให้ MultiIndex หลายระดับราบเรียบ:
#flatten 'ID' level only
df. reset_index (inplace= True ,level=[' Partial ',' ID '])
#view updated DataFrame
df
Partial ID Store Sales
Full
Level1 Lev1 L1 A 12
Level2 Lev2 L2 B 44
Level3 Lev3 L3 C 29
Level4 Lev4 L4 D 35
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการใช้งานฟังก์ชันทั่วไปอื่น ๆ ในแพนด้า:
วิธีแปลงดัชนีเป็นคอลัมน์ใน Pandas
วิธีเปลี่ยนชื่อดัชนีใน Pandas
วิธีการตั้งค่าคอลัมน์เป็นดัชนีใน Pandas