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