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

Python Pandas - สร้าง DataFrame จากระดับ MultiIndex แต่ไม่ตั้งค่า Index ของ DataFrame ที่คืนมา

บทนำ

ใช้ MultiIndex.to_frame(index=False) เพื่อสร้าง DataFrame โดยไม่ใช้ค่าระดับแรกเป็น Index

ขั้นตอน

1. นำเข้าไลบรารีและสร้าง MultiIndex

import pandas as pd
arrays = [[1, 2, 3, 4], ['John', 'Tim', 'Jacob', 'Chris']]
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))

2. สร้าง DataFrame โดย index=False

dataFrame = multiIndex.to_frame(index=False)

ตัวอย่างโค้ดเต็ม

import pandas as pd

arrays = [[1, 2, 3, 4], ['John', 'Tim', 'Jacob', 'Chris']]
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))

print("The Multi-index...\n", multiIndex)
print("\nThe levels in Multi-index...\n", multiIndex.levels)

dataFrame = multiIndex.to_frame(index=False)
print("\nThe DataFrame...\n", dataFrame)

ผลลัพธ์

The Multi-index...
MultiIndex([(1, 'John'), (2, 'Tim'), (3, 'Jacob'), (4, 'Chris')],
           names=['ranks', 'student'])

The levels in Multi-index...
[[1, 2, 3, 4], ['Chris', 'Jacob', 'John', 'Tim']]

The DataFrame...
   ranks student
0      1    John
1      2     Tim
2      3   Jacob
3      4   Chris

คำอธิบาย

  • index=False ทำให้ DataFrame ใช้ RangeIndex (0,1,2,3) แทนค่าระดับแรก
  • ชื่อคอลัมน์มาจากชื่อระดับของ MultiIndex ('ranks', 'student')
  • เหมาะสำหรับการ export หรือ merge ที่ไม่ต้องการ MultiIndex เป็น index