浅谈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 冒泡,选择,插入排序使用实例
Feb 05 Python
Python编程pygal绘图实例之XY线
Dec 09 Python
python2与python3中关于对NaN类型数据的判断和转换方法
Oct 30 Python
Python:合并两个numpy矩阵的实现
Dec 02 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
Feb 28 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
Mar 10 Python
pycharm 2018 激活码及破解补丁激活方式
Sep 21 Python
python怎么判断素数
Jul 01 Python
python合并多个excel文件的示例
Sep 23 Python
5款实用的python 工具推荐
Oct 13 Python
如何在python中实现ECDSA你知道吗
Nov 23 Python
使用Python拟合函数曲线
Apr 14 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执行速度全攻略(下)
2006/10/09 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
2014/05/04 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
2016/06/24 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
php workerman定时任务的实现代码
2018/12/23 PHP
Code: write(s,d) 输出连续字符串
2007/08/19 Javascript
用cookies实现的可记忆的样式切换效果代码下载
2007/12/24 Javascript
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
js过滤数组重复元素的方法
2010/09/05 Javascript
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
Javascript毫秒数用法实例
2015/02/05 Javascript
transport.js和jquery冲突问题的解决方法
2015/02/10 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
JavaScript、C# URL编码、解码总结
2017/01/21 Javascript
ionic3 懒加载
2017/08/16 Javascript
详解Nuxt.js中使用Element-UI填坑
2019/09/06 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
python搭建简易服务器分析与实现
2012/12/15 Python
详解Python3中yield生成器的用法
2015/08/20 Python
浅谈django model的get和filter方法的区别(必看篇)
2017/05/23 Python
详解Python发送email的三种方式
2018/10/18 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
python求质数列表的例子
2019/11/24 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
keras 获取某层的输入/输出 tensor 尺寸操作
2020/06/10 Python
Python pip使用超时问题解决方案
2020/08/03 Python
如何创建一个Flask项目并进行简单配置
2020/11/18 Python
Python3使用Selenium获取session和token方法详解
2021/02/16 Python
python 制作磁力搜索工具
2021/03/04 Python
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
写给女朋友的道歉信
2014/01/12 职场文书
财务会计专业求职信
2014/06/09 职场文书
2014基建处领导班子“四风”对照检查材料思想汇报
2014/10/04 职场文书
2015年维修电工工作总结
2015/04/25 职场文书