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

Viết chương trình bằng Python để in mảng chỉ số số với các giá trị khác biệt được sắp xếp trong một chuỗi nhất định

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']