Để lấy vị trí và chỉ mục cắt (sliced index) cho nhãn hoặc cấp độ được yêu cầu trong MultiIndex, chúng ta sử dụng phương thức get_loc_level() trong Pandas.
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
MultiIndex là đối tượng chỉ mục đa cấp (hierarchical) cho các đối tượng pandas. Chúng ta tạo từ các mảng bằng from_arrays():
multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')], names=['One', 'Two'])
3. Hiển thị MultiIndex
print("MultiIndex:\n", multiIndex)
4. Lấy vị trí và chỉ mục cắt
Sử dụng get_loc_level('r') để tìm vị trí của nhãn 'r':
print("\nVị trí và chỉ mục cắt:\n", multiIndex.get_loc_level('r'))
Ví dụ hoàn chỉnh
import pandas as pd
# Tạo MultiIndex từ các mảng
multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')], names=['One', 'Two'])
# Hiển thị MultiIndex
print("MultiIndex:\n", multiIndex)
# Hiển thị các cấp độ trong MultiIndex
print("\nCác cấp độ trong MultiIndex:\n", multiIndex.levels)
# Lấy vị trí và chỉ mục cắt cho nhãn 'r'
print("\nVị trí và chỉ mục cắt:\n", multiIndex.get_loc_level('r'))
Kết quả đầu ra
MultiIndex:
MultiIndex([('p', 's'), ('q', 't'), ('r', 'r'), ('r', 'v'), ('s', 'w'), ('s', 'x')], names=['One', 'Two'])
Các cấp độ trong MultiIndex:
[['p', 'q', 'r', 's'], ['r', 's', 't', 'v', 'w', 'x']]
Vị trí và chỉ mục cắt:
(slice(2, 4, None), Index(['r', 'v'], dtype='object', name='Two'))
Giải thích kết quả
- slice(2, 4, None): Chỉ mục cắt từ vị trí 2 đến 4 (không bao gồm 4), tức là các hàng thứ 3 và 4 (0-indexed).
- Index(['r', 'v'], name='Two'): Các giá trị ở cấp độ 'Two' tương ứng với các hàng đó.
Phương thức này rất hữu ích khi bạn cần lọc hoặc truy xuất dữ liệu dựa trên nhãn ở một cấp độ cụ thể trong MultiIndex.