Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python Pandas - Tính indexer và mask cho Index mới dựa trên Index hiện tại

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

  1. Import thư viện: import pandas as pd
  2. Tạo Index: index = pd.Index([10, 20, 30, 40, 50, 60, 70])
  3. 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.