浅谈numpy数组的几种排序方式_python

创建数组创建1维数组:data = np.array([1,3,4,8])查看数组维度data.shape查看数组类型data.dtype通过索引获取或修改数组元素data[1] 获取元素data[1] = 'a' 修改元素创建二维数组data = np.array([[1,2,3],[4,5,6]]) 两个元素均为列表2.data = np.arange(10) 与python的range一样...
浅谈numpy数组的几种排序方式_python
这篇文章主要介绍了浅谈numpy数组的几种排序方式,涉及对numpy的简单介绍和创建数组的方式,具有一定借鉴价值,对numpy感兴趣的朋友可以参考下。简单介绍NumPy系统是Python的一种开源的数组计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。创建数组创建1维数组:data = np.array([1,3,4,8])查看数组维度data.shape查看数组类型data.dtype通过索引获取或修改数组元素data[1] 获取元素data[1] = 'a' 修改元素创建二维数组data = np.array([[1,2,3],[4,5,6]]) 两个元素均为列表<br>2.data = np.arange(10) 与python的range一样,range返回列表,arange返回array类型的一个数组<br>3.data2 = data.reshape(2,5) 返回一个2*5的数组,他不是拷贝数组是引用,只是返回数组的不同视图,data改变data2也会改变创建特殊数组data = np.zeros((2,2)) 创建2*2全为0的2维数组data = np.ones((2,3,3,)) 创建全为1的三维数组data = np.eye(4) 创建4*4的对角数组,对角元素为1,其它都为0数组转换data = np.arange(16).reshape(4,4) 将0-16的移位数组转换为4*4的数组排序方式说明:经常需要对数组或者list进行排序,python提供了好几种排序的函数,下面说明下特点;二维数组a:1 43 11、ndarray.sort(axis=-1,kind='quicksort',order=None)使用方法:a.sort参数说明:axis:排序沿着数组的方向,0表示按行,1表示按列kind:排序的算法,提供了快排、混排、堆排order:不是指的顺序,以后用的时候再去分析这个作用效果:对数组a排序,排序后直接改变了a例如:>>a.sort(axis=1)>>print a1 41 32、numpy.sort(a,axis=-1,kind='quicksort',order=None)使用方法:numpy.sort(a)参数说明:a:要排序的数组,其他同1作用效果:对数组a排序,返回一个排序后的数组(与a相同维度),a不变例如:>>print numpy.sort(a,axis=1)1 41 3>>print a1 43 13、numpy.argsort(a,axis=-1,kind='quicksort',order=None)使用方法:numpy.argsort(a)参数说明:同2作用效果:对数组a排序,返回一个排序后索引,a不变例如:>>print numpy.argsort(a,axis=1)0 11 04、sorted(iterable,cmp=None,key=None,reverse=False)说明:内置的排序函数,对list,字典等等可以使用iterable:是可迭代类型;cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项;reverse:排序规则.reverse=True或者reverse=False,默认False(从小到大)。返回值:是一个经过排序的可迭代类型,与iterable一样;例如:b是一个字典b:{'a':2,'c':1,'b':3}对b进行排序:>>c=sorted(b.iteritems(),key=operator.itemgetter(1),reverse=False)>>print c[('c', 1), ('a', 2), ('b', 3)]可见:返回的是一个list总结2023-07-27
mengvlog 阅读 9 次 更新于 2025-07-19 07:55:11 我来答关注问题0
  • 创建数组创建1维数组:data = np.array([1,3,4,8])查看数组维度data.shape查看数组类型data.dtype通过索引获取或修改数组元素data[1] 获取元素data[1] = 'a' 修改元素创建二维数组data = np.array([[1,2,3],[4,5,6]]) 两个元素均为列表2.data = np.arange(10) 与python的range一样...

  •  文暄生活科普 NumPy 数组排序、过滤与随机数生成详解

    排序数组意味着将元素按特定顺序排列。顺序可以是数字大小、字母顺序、升序或降序等。NumPy 的ndarray 对象提供了一个名为 sort() 的函数,用于对数组进行排序。对于二维数组,sort() 方法会对每一行进行排序。过滤数组是指从现有数组中选取部分元素,并创建新的数组。在 NumPy 中,可以使用布尔索引列表来...

  •  深空游戏 Numpy进阶之排序小技巧

    Numpy排序小技巧主要包括以下三点:使用numpy.sort进行快速排序:功能:快速对数组元素进行排序。使用方法:numpy.sort。a为待排序数组。axis指定沿哪个轴进行排序,默认为1,即最后一个轴。kind指定排序算法,默认为’quicksort’,其他选项包括’mergesort’和’heapsort’。

  •  翡希信息咨询 (学习笔记)numpy中argsort函数用法

    若需要降序排列,可以对输入值取负数,如np.argsort,这将返回从大到小的索引。另一种方法是通过先进行升序排序,然后反转数组来实现降序,如a = x[np.argsort]和a[::1]的组合。应用场景:argsort是numpy库中基础的排序工具之一,尤其适用于需要快速获取排序索引的场景。相比于numpy库中的sort和sorted...

  •  阿暄生活 数据科学家的排序技巧

    排序方法:提供两个排序方法,一个改变原始数组,另一个创建复制数组。排序算法:默认采用快速排序,最坏情况下自动转换为堆排序,确保时间复杂度为O),具有稳定性。Pandas中的排序:DataFrame和Series的排序:使用df.sort_values对DataFrame进行排序,Series排序时无需指定by参数。排序算法:默认采用Numpy的...

檬味博客在线解答立即免费咨询

Python相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部