浅谈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使用心得之获得github代码库列表
Jun 25 Python
理解Python中的类与实例
Apr 27 Python
Python脚本实现自动发带图的微博
Apr 27 Python
Python随机数用法实例详解【基于random模块】
Apr 18 Python
python与sqlite3实现解密chrome cookie实例代码
Jan 20 Python
python实现批量按比例缩放图片效果
Mar 30 Python
对Python 文件夹遍历和文件查找的实例讲解
Apr 26 Python
Django Celery异步任务队列的实现
Jul 24 Python
Python如何实现邮件功能
May 27 Python
python如何输出反斜杠
Jun 18 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
Aug 17 Python
python反扒机制的5种解决方法
Feb 06 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 checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
php获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
sae使用smarty模板的方法
2013/12/17 PHP
PHP实现即时输出、实时输出内容方法
2015/05/27 PHP
ThinkPHP中create()方法自动验证实例
2017/04/26 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
Javascript 中创建自定义对象的方法汇总
2014/12/04 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
javascript如何创建对象
2016/08/29 Javascript
Vue.js实现实例搜索应用功能详细代码
2017/08/24 Javascript
Angular2整合其他插件的方法
2018/01/20 Javascript
详解vue中组件参数
2018/07/09 Javascript
vue webpack开发访问后台接口全局配置的方法
2018/09/18 Javascript
关于js陀螺仪的理解分析
2019/04/11 Javascript
微信小程序利用for循环解决内容变更问题
2020/03/05 Javascript
elementui实现预览图片组件二次封装
2020/12/29 Javascript
[02:56]DOTA2矮人直升机 英雄基础教程
2013/11/26 DOTA
Python字符转换
2008/09/06 Python
基于Python实现通过微信搜索功能查看谁把你删除了
2016/01/27 Python
python使用PIL模块获取图片像素点的方法
2019/01/08 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
2019/08/07 Python
python base64库给用户名或密码加密的流程
2020/01/02 Python
Python导入数值型Excel数据并生成矩阵操作
2020/06/09 Python
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
Get The Label中文官网:英国运动时尚购物平台
2017/04/19 全球购物
英国医生在线预约:Top Doctors
2019/10/30 全球购物
评析教师个人的自我评价
2014/02/19 职场文书
本科毕业自我鉴定
2014/03/20 职场文书
银行委托书范本
2014/04/04 职场文书
2015医德医风个人工作总结
2015/04/02 职场文书
2015民办小学年度工作总结
2015/05/26 职场文书
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python
Pyhton爬虫知识之正则表达式详解
2022/04/01 Python
PostgreSQL数据库创建并使用视图以及子查询
2022/04/11 PostgreSQL