Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Pandas - รับตำแหน่งและดัชนีแบ่งส่วนสำหรับป้ายกำกับ/ ระดับที่ร้องขอ แต่อย่าปล่อยระดับ


ในการรับตำแหน่งและดัชนีแบบแบ่งส่วนสำหรับป้ายกำกับ/ระดับที่ร้องขอใน MultiIndex ให้ใช้ get_loc_level() วิธีการในแพนด้า ใช้ drop_level พารามิเตอร์และตั้งค่าเป็น เท็จ เพื่อหลีกเลี่ยงการลดระดับ

ขั้นแรก นำเข้าไลบรารีที่จำเป็น -

นำเข้าแพนด้าเป็น pd

MultiIndex เป็นวัตถุดัชนีหลายระดับหรือแบบลำดับชั้นสำหรับวัตถุแพนด้า -

multiIndex =pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')],names=['One', 'Two'])

แสดง MultiIndex -

print("The MultiIndex...\n",multiIndex)

รับตำแหน่งและดัชนีสไลซ์ เพื่อหลีกเลี่ยงการลดระดับ เราได้ใช้พารามิเตอร์ "drop_level" ที่มีค่า "False" -

print("\nรับตำแหน่งและดัชนีแบบแบ่งส่วน (หลีกเลี่ยงการลดระดับ)...\n",multiIndex.get_loc_level('r', drop_level=False))

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

นำเข้าแพนด้าเป็น pd# MultiIndex เป็นวัตถุดัชนีหลายระดับหรือลำดับชั้นสำหรับ pandas objectmultiIndex =pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')],names=[' หนึ่ง', 'สอง'])# แสดง MultiIndexprint("The MultiIndex...\n",multiIndex)# รับระดับใน MultiIndexprint("\nระดับใน MultiIndex...\n",multiIndex.levels)# รับตำแหน่งและดัชนีแบ่งส่วน # เพื่อหลีกเลี่ยงการลดระดับ เราได้ใช้พารามิเตอร์ "drop_level" ที่มีค่า "False"print("\nรับตำแหน่งและดัชนีแบ่งส่วน (หลีกเลี่ยงการลดระดับ)...\n",multiIndex .get_loc_level('r', drop_level=False))

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

The MultiIndex...MultiIndex([('p', 's'), ('q', 't'), ('r', 'r'), ('r', 'v') , ('s', 'w'), ('s', 'x')], names=['One', 'Two'])ระดับใน MultiIndex... [['p', 'q' , 'r', 's'], ['r', 's', 't', 'v', 'w', 'x']]รับตำแหน่งและดัชนีแบบแบ่งส่วน (หลีกเลี่ยงการลดระดับ).. .(slice(2, 4, None), MultiIndex([('r', 'r'),('r', 'v')],names=['One', 'Two']))