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


Posted in Python onDecember 15, 2017

简单介绍

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 4
3 1

1、ndarray.sort(axis=-1,kind='quicksort',order=None)

使用方法:a.sort

参数说明:

axis:排序沿着数组的方向,0表示按行,1表示按列

kind:排序的算法,提供了快排、混排、堆排

order:不是指的顺序,以后用的时候再去分析这个

作用效果:对数组a排序,排序后直接改变了a

例如:

>>a.sort(axis=1)
>>print a
1 4
1 3

2、numpy.sort(a,axis=-1,kind='quicksort',order=None)

使用方法:numpy.sort(a)

参数说明:

a:要排序的数组,其他同1

作用效果:对数组a排序,返回一个排序后的数组(与a相同维度),a不变

例如:

>>print numpy.sort(a,axis=1)
1 4
1 3
>>print a
1 4
3 1

3、numpy.argsort(a,axis=-1,kind='quicksort',order=None)

使用方法:numpy.argsort(a)

参数说明:同2

作用效果:对数组a排序,返回一个排序后索引,a不变

例如:

>>print numpy.argsort(a,axis=1)
0 1
1 0

4、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

总结

以上就是本文关于浅谈numpy数组的几种排序方式的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
python实现冒泡排序算法的两种方法
Mar 10 Python
python 日志增量抓取实现方法
Apr 28 Python
python中的变量如何开辟内存
Jun 26 Python
Python supervisor强大的进程管理工具的使用
Apr 24 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
May 13 Python
Python实现一个带权无回置随机抽选函数的方法
Jul 24 Python
Django中的用户身份验证示例详解
Aug 07 Python
Django REST framework 单元测试实例解析
Nov 07 Python
Python中 Global和Nonlocal的用法详解
Jan 20 Python
Python 多线程共享变量的实现示例
Apr 17 Python
利用Python如何实时检测自身内存占用
May 09 Python
Python中第三方库Faker的使用详解
Apr 02 Python
Python多线程爬虫实战_爬取糗事百科段子的实例
Dec 15 #Python
python导入csv文件出现SyntaxError问题分析
Dec 15 #Python
python matplotlib中文显示参数设置解析
Dec 15 #Python
MAC中PyCharm设置python3解释器
Dec 15 #Python
Python通过matplotlib画双层饼图及环形图简单示例
Dec 15 #Python
python绘制双柱形图代码实例
Dec 14 #Python
Python实现一个Git日志统计分析的小工具
Dec 14 #Python
You might like
PHP 动态生成静态HTML页面示例代码
2014/01/15 PHP
php实现数据库的增删改查
2017/02/26 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
2019/05/14 PHP
JavaScript 的方法重载效果
2009/08/07 Javascript
JavaScript学习笔记(十七)js 优化
2010/02/04 Javascript
JavaScript 设计模式 安全沙箱模式
2010/09/24 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
2015/04/17 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
2015/10/28 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
2015/12/19 Javascript
JS中setTimeout的巧妙用法前端函数节流
2016/03/24 Javascript
AngularJS入门教程之双向绑定详解
2016/08/18 Javascript
Bootstrap中datetimepicker使用小结
2016/12/28 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
checkbox:click事件触发span元素内容改变的方法
2017/09/11 Javascript
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
2020/02/12 Javascript
element el-tree组件的动态加载、新增、更新节点的实现
2020/02/27 Javascript
微信小程序如何加载数据库真实数据的实现
2020/03/04 Javascript
python登录豆瓣并发帖的方法
2015/07/08 Python
Python 基础知识之字符串处理
2017/01/06 Python
Python3 适合初学者学习的银行账户登录系统实例
2017/08/08 Python
python3利用venv配置虚拟环境及过程中的小问题小结
2018/08/01 Python
python的等深分箱实例
2019/11/22 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
Python定时任务框架APScheduler原理及常用代码
2020/10/05 Python
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
世界上最大的家庭自动化公司:Smarthome
2017/12/20 全球购物
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
电信专业应届生自荐信
2013/09/28 职场文书
校园活动宣传方案
2014/03/28 职场文书
求职意向书范文
2014/04/01 职场文书
地震捐款倡议书
2014/08/29 职场文书
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
廉洁自律承诺书范文
2015/04/28 职场文书
2016新年致辞
2015/08/01 职场文书
教师正风肃纪心得体会
2016/01/15 职场文书