Để tính indexer và mask cho một Index mới dựa trên Index hiện tại, sử dụng phương thức index.get_indexer() trong Pandas.
Các bước thực hiện
- Import thư viện:
import pandas as pd - Tạo Index:
index = pd.Index([10, 20, 30, 40, 50, 60, 70]) - Gọi
index.get_indexer([30, 40, 90, 100, 50]). Giá trị không có trong index được đánh dấu -1.
Ví dụ hoàn chỉnh
import pandas as pd
index = pd.Index([10, 20, 30, 40, 50, 60, 70])
print("Pandas Index...\n", index)
print("\nNumber of elements in the index...\n", index.size)
# Tính indexer và mask
# Giá trị không có trong index được đánh dấu -1
print("\nGet the indexes...\n", index.get_indexer([30, 40, 90, 100, 50]))
Kết quả
Pandas Index...
Int64Index([10, 20, 30, 40, 50, 60, 70], dtype='int64')
Number of elements in the index...
7
Get the indexes...
[ 2 3 -1 -1 4]
Giải thích: Mảng kết quả cho thấy vị trí của từng giá trị mục tiêu trong index gốc: 30→2, 40→3, 90→-1 (không có), 100→-1, 50→4.