Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python Pandas – Hiển thị chỉ mục DataFrame dạng MultiIndex

Tạo MultiIndex cho DataFrame bằng cách đặt cột làm chỉ mục bổ sung. Sử dụng set_index() với append=True.

Tạo DataFrame từ dictionary

import pandas as pd

d = {
    'Car': ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'],
    'Date_of_purchase': ['2020-10-10', '2020-10-12', '2020-10-17', '2020-10-16', '2020-10-19', '2020-10-22']
}

dataFrame = pd.DataFrame(d)
print("DataFrame gốc:\n", dataFrame)

Tạo MultiIndex

# Thêm cột "Car" vào chỉ mục (giữ nguyên cột Car với drop=False)
dataFrame.set_index(["Car"], inplace=True, append=True, drop=False)

print("\nMultiIndex:\n", dataFrame.index)

Kết quả

DataFrame gốc...
       Car Date_of_purchase
0      BMW       2020-10-10
1    Lexus       2020-10-12
2     Audi       2020-10-17
3 Mercedes       2020-10-16
4   Jaguar       2020-10-19
5  Bentley       2020-10-22

MultiIndex:
MultiIndex(levels=[[0, 1, 2, 3, 4, 5], ['Audi', 'BMW', 'Bentley', 'Jaguar', 'Lexus', 'Mercedes']],
           labels=[[0, 1, 2, 3, 4, 5], [1, 4, 0, 5, 3, 2]],
           names=[None, 'Car'])

Giải thích

  • append=True: thêm vào chỉ mục hiện có (RangeIndex 0-5) thay vì thay thế.
  • drop=False: giữ cột "Car" trong DataFrame (mặc định drop=True sẽ xóa cột).
  • Kết quả: MultiIndex 2 cấp: cấp 0 là chỉ số nguyên bản, cấp 1 là tên xe.
  • levels chứa giá trị duy nhất của mỗi cấp, labels (hoặc codes trong pandas mới) chỉ vị trí.