文档详情

Python数据分析基础与应用电子活页3-31实现NumPy数组的排序操作.docx

发布:2025-05-24约1.63千字共2页下载文档
文本预览下载声明

Python数据分析基础与应用

模块

PAGE2

PAGE21

电子活页3-31实现NumPy数组的排序操作

【技能训练3-44】实现NumPy数组的排序操作

【训练要求】

在JupyterNotebook开发环境中创建j3-44.ipynb,然后编写代码实现NumPy数组的排序操作。

【实施过程】

(1)使用numpy.sort()函数对数组进行排序

代码如下:

importnumpyasnp

array1=np.array([[3,7],[9,1]])

print(array1数组:)

print(array1)

#调用sort()函数对数组进行排序

print(np.sort(array1))

#按列排序

print(np.sort(array1,axis=0))

print(array2数组:)

#设置在sort()函数中的排序字段

dt=np.dtype([(name,S10),(age,int)])

array2=np.array([(xiangdong,21),(xiangxi,24),(xiangbei,19),

(xiangnan,20)],dtype=dt)

#输出array2数组

print(array2)

#按name字段排序

print(np.sort(array2,order=name))

输出结果:

array1数组:

[[37]

[91]]

#按行排序

[[37]

[19]]

#按列排序

[[31]

[97]]

array2数组:

[(bxiangdong,21)(bxiangxi,24)(bxiangbei,19)(bxiangnan,20)]

[(bxiangbei,19)(bxiangdong,21)(bxiangnan,20)(bxiangxi,24)]

(2)使用numpy.argsort()函数沿着指定的轴对数组的元素值进行排序

代码如下:

importnumpyasnp

array1=np.array([90,29,89,12])

print(原数组:\n,array1)

sort_ind=np.argsort(array1)

print(输出排序元素索引值,sort_ind)

#使用索引数组对原数组进行排序

sort_a=array1[sort_ind]

print(输出排序数组:)

foriinsort_ind:

print(array1[i],end=)

输出结果:

原数组:

[90298912]

输出排序元素索引值:[3120]

输出排序数组:

12298990

(3)使用numpy.lexsort()函数按键序列对数组进行排序

代码如下:

importnumpyasnp

array1=np.array([a,b,c,d,e])

array2=np.array([45,90,360,45,180])

array3=np.lexsort((array1,array2))

#输出排序元素的索引数组array3

print(array3)

#使用索引数组对原数组进行排序

foriinarray3:

print(array1[i],array2[i])

输出结果:

#输出排序元素的索引数组array3

[03142]

#使用索引数组对原数组进行排序

a45

d45

b90

e180

c360

显示全部
相似文档