zoukankan      html  css  js  c++  java
  • 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]
  • 相关阅读:
    手速太慢QAQ
    最短路总结
    放下
    素材收集
    NOI2018旅游记
    -5
    七月
    德国GG了
    本人自传
    bzoj2369
  • 原文地址:https://www.cnblogs.com/yuxiangyang/p/11175907.html
Copyright © 2011-2022 走看看