Để xóa nhiều 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 danh sách 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 nhiều level theo tên ('a' và 'd')
print("\nXóa nhiều level...\n", multiIndex.droplevel(['a', 'd']))
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 nhiều level theo tên
# Truyền danh sách tên level cần xóa
print("\nXóa nhiều level...\n", multiIndex.droplevel(['a', 'd']))
Kết quả đầu ra
MultiIndex...
MultiIndex([( 5, 15, 25, 35), (10, 20, 30, 40)], names=['a', 'b', 'c', 'd'])
Xóa nhiều level...
MultiIndex([(15, 25), (20, 30)], names=['b', 'c'])
Giải thích: Level 'a' (vị trí 0) và 'd' (vị trí 3) bị xóa. Còn lại level 'b', 'c' với tên và giá trị tương ứng. Có thể truyền tên level hoặc vị trí số nguyên. Trả về MultiIndex mới.