Để lấy vị trí cho một chuỗi nhãn (sequence of labels) trong MultiIndex, chúng ta sử dụng phương thức MultiIndex.get_locs() trong Pandas.
Các bước thực hiện
1. Import thư viện
import pandas as pd
2. Tạo MultiIndex
multiIndex = pd.MultiIndex.from_arrays([list('pqrrst'), list('kytssp')])
3. Hiển thị MultiIndex
print("MultiIndex:\n", multiIndex)
4. Lấy vị trí cho chuỗi nhãn
Sử dụng get_locs('s') để tìm tất cả vị trí có nhãn 's':
print("\nCác vị trí trong MultiIndex:\n", multiIndex.get_locs('s'))
Ví dụ hoàn chỉnh
import pandas as pd
# Tạo MultiIndex
multiIndex = pd.MultiIndex.from_arrays([list('pqrrst'), list('kytssp')])
# Hiển thị MultiIndex
print("MultiIndex:\n", multiIndex)
# Hiển thị các cấp độ
print("\nCác cấp độ trong MultiIndex:\n", multiIndex.levels)
# Lấy vị trí cho nhãn 's'
print("\nCác vị trí trong MultiIndex:\n", multiIndex.get_locs('s'))
Kết quả đầu ra
MultiIndex:
MultiIndex([('p', 'k'), ('q', 'y'), ('r', 't'), ('r', 's'), ('s', 's'), ('t', 'p')], )
Các cấp độ trong MultiIndex:
[['p', 'q', 'r', 's', 't'], ['k', 'p', 's', 't', 'y']]
Các vị trí trong MultiIndex:
[4]
Giải thích
Kết quả [4] cho thấy nhãn 's' xuất hiện ở vị trí thứ 4 (0-indexed) trong MultiIndex. Phương thức get_locs() trả về một mảng các vị trí nguyên tử (integer positions) nơi nhãn được tìm thấy, khác với get_loc() có thể trả về slice hoặc boolean mask.