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

Python Pandas - Xóa một level trong MultiIndex theo tên

Để xóa một level trong MultiIndex bằng cách chỉ định tên level, hãy sử dụng phương thức multiIndex.droplevel() với tên level cần xóa.

Các bước thực hiện

1. Import thư viện cần thiết

import pandas as pd

2. Tạo MultiIndex có tên level

multiIndex = pd.MultiIndex.from_arrays([[5, 10], [15, 20], [25, 30], [35, 40]], names=['a', 'b', 'c', 'd'])

3. Hiển thị MultiIndex

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

4. Xóa level 'b' theo tên

print("\nXóa một level...\n", multiIndex.droplevel('b'))

Ví dụ hoàn chỉnh

import pandas as pd

# Tạo MultiIndex có tên level
multiIndex = pd.MultiIndex.from_arrays([[5, 10], [15, 20], [25, 30], [35, 40]], names=['a', 'b', 'c', 'd'])

# Hiển thị MultiIndex
print("MultiIndex...\n", multiIndex)

# Xóa level 'b' theo tên
print("\nXóa một level...\n", multiIndex.droplevel('b'))

Kết quả đầu ra

MultiIndex...
MultiIndex([( 5, 15, 25, 35), (10, 20, 30, 40)], names=['a', 'b', 'c', 'd'])
Xóa một level...
MultiIndex([( 5, 25, 35), (10, 30, 40)], names=['a', 'c', 'd'])

Giải thích: Level 'b' (vị trí 1, giá trị 15/20) bị xóa. Còn lại level 'a', 'c', 'd'. Tham số có thể là tên level (string) hoặc vị trí (int). Mặc định xóa level cuối (-1) nếu không truyền tham số.