用 Python 编写一个程序,打印给定系列中已排序的不同值的数字索引数组

pythonpandasserver side programmingprogramming

假设您有一个系列,并且已排序的不同值的数字索引为 −

已排序的不同值 - 数字数组索引
[2 3 0 3 2 1 4]
['apple' 'kiwi' 'mango' 'orange' 'pomegranate']

为了解决这个问题,我们将遵循下面给出的步骤 −

解决方案

  • 在非唯一元素列表中应用 pd.factorize() 函数并将其保存为 index,index_value。

index,unique_value =
pd.factorize(['mango','orange','apple','orange','mango','kiwi','pomegranate'])
  • 打印索引和元素。显示结果时未对不同值及其索引进行排序

  • 在列表元素内应用 pd.factorize() 并设置 sort=True,然后将其保存为 sorted_index,unique_value

sorted_index,unique_value =
pd.factorize(['mango','orange','apple','orange','mango','kiwi','pomegranate'],sort=True)
  • 最后打印数字索引和不同值

示例

让我们看下面的代码以更好地理解 −

import pandas as pd
index,unique_value =
pd.factorize(['mango','orange','apple','orange','mango','kiwi','pomegranate'])
print("未对不同值进行排序-数字数组索引")
print(index)
print(unique_value)
print("排序的不同值-数字数组索引")
sorted_index,unique_value =
pd.factorize(['mango','orange','apple','orange','mango','kiwi','pomegranate'],sort=True)
print(sorted_index)
print(unique_value)

输出

未对不同值进行排序-数字数组索引
[0 1 2 1 0 3 4]
['mango' 'orange' 'apple' 'kiwi' 'pomegranate']
排序的不同值 - 数字数组索引
[2 3 0 3 2 1 4]
['apple' 'kiwi' 'mango' 'orange' 'pomegranate']

相关文章