Giả sử, bạn có một chuỗi và chỉ mục số với các giá trị khác biệt được sắp xếp là -
Sorted distict values - numeric array index [2 3 0 3 2 1 4] ['apple' 'kiwi' 'mango' 'orange' 'pomegranate']
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước dưới đây -
Giải pháp
-
Áp dụng hàm pd.factorize () bên trong danh sách các phần tử không phải là duy nhất và lưu nó dưới dạng chỉ mục, index_value.
index,unique_value = pd.factorize(['mango','orange','apple','orange','mango','kiwi','pomegranate'])
-
In chỉ mục và các phần tử. Kết quả được hiển thị mà không cần sắp xếp các giá trị riêng biệt và chỉ mục của nó
-
Áp dụng pd.factorize () bên trong các phần tử danh sách và đặt sort =True, sau đó lưu nó dưới dạng sorted_index, unique_value
sorted_index,unique_value = pd.factorize(['mango','orange','apple','orange','mango','kiwi','pomegranate'],sort=True)
-
Cuối cùng in chỉ mục số và các giá trị riêng biệt
Ví dụ
Hãy xem đoạn mã dưới đây để hiểu rõ hơn -
import pandas as pd index,unique_value = pd.factorize(['mango','orange','apple','orange','mango','kiwi','pomegranate']) print("Without sorting of distict values-numeric array index") print(index) print(unique_value) print("Sorted distict values - numeric array index") sorted_index,unique_value = pd.factorize(['mango','orange','apple','orange','mango','kiwi','pomegranate'],sort=True) print(sorted_index) print(unique_value)
Đầu ra
Without sorting of distict values-numeric array index [0 1 2 1 0 3 4] ['mango' 'orange' 'apple' 'kiwi' 'pomegranate'] Sorted distict values - numeric array index [2 3 0 3 2 1 4] ['apple' 'kiwi' 'mango' 'orange' 'pomegranate']