Để 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ố.