numpy之排序


'''
    排序:
        1.联合间接排序:   排序后的有序索引 = np.lexsort((次序列,主序列))--->先以主序列为标准排序再以次序列为标准排序,返回排序后的有序索引
        2.复数数组排序:   np.sort_complex(复数数组)--->先按照实部排序,再按照虚部排序
        3.插入排序:      若已知有序数组,需要向该数组中插入元素,使得插入后,依然有序
                待插入索引 = np.seachsorted(有序数组,待插入数据)
'''
import numpy as np

p = np.array(['Apple', 'Huawei', 'Mi', 'Oppo', 'Vivo'])  # 产品
prices = np.array([8000, 4999, 2999, 3999, 3999])  # 价格
volumns = np.array([40, 80, 50, 35, 40])  # 销量
# 联合间接排序
indexes = np.lexsort((-volumns, -prices))  # 加'-'表示降序
print(indexes)
print(p[indexes])

# 插入排序
a = np.array([1, 2, 3, 6, 9])
b = np.array([5, 8])
indexes = np.searchsorted(a, b)
print(indexes)
# 把b数组中元素按照indexes的索引位置,插入a数组中
d = np.insert(a, indexes, b)
print(d)


输出结果:
[0 1 4 3 2]
['Apple' 'Huawei' 'Vivo' 'Oppo' 'Mi']
[3 4]
[1 2 3 5 6 8 9]

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM