Computer >> Máy Tính >  >> Lập trình >> Python

Python Pandas - Tính toán trình lập chỉ mục và mặt nạ cho chỉ mục mới ngay cả đối với các đối tượng có giá trị không duy nhất

Để tính toán trình lập chỉ mục và mặt nạ cho chỉ mục mới ngay cả đối với các đối tượng có giá trị không phải là duy nhất, hãy sử dụng index.get_indexer_non_unique () method.Python Pandas - Tính toán trình lập chỉ mục và mặt nạ cho chỉ mục mới ngay cả đối với các đối tượng không có giá trị duy nhất

Đầu tiên, hãy nhập các thư viện được yêu cầu -

import pandas as pd

Tạo chỉ mục Pandas với một số giá trị không phải duy nhất -

index = pd.Index([10, 20, 30, 40, 40, 50, 60, 60, 60, 70])

Hiển thị chỉ mục Gấu trúc -

print("Pandas Index...\n",index)

Máy tính lập chỉ mục và mặt nạ. Được đánh dấu bằng -1, vì nó không có trong chỉ mục. Điều này cũng tính toán các giá trị đối tượng Chỉ mục không phải là duy nhất -

print("\nGet the indexes...\n",index.get_indexer_non_unique([30, 40, 90, 100, 50, 60]))

Ví dụ

Sau đây là mã -

import pandas as pd

# Creating Pandas index with some non-unique values
index = pd.Index([10, 20, 30, 40, 40, 50, 60, 60, 60, 70])

# Display the Pandas index
print("Pandas Index...\n",index)

# Return the number of elements in the Index
print("\nNumber of elements in the index...\n",index.size)

# Compute indexer and mask
# Marked by -1, as it is not in index
# This also computes non-unique Index object values
print("\nGet the indexes...\n",index.get_indexer_non_unique([30, 40, 90, 100, 50, 60]))

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Pandas Index...
Int64Index([10, 20, 30, 40, 40, 50, 60, 60, 60, 70], dtype='int64')

Number of elements in the index...
10

Get the indexes...
(array([ 2, 3, 4, -1, -1, 5, 6, 7, 8], dtype=int64), array([2, 3], dtype=int64))