numpy 有多种排序方法。

sort

sort(self, axis=-1, kind='quicksort', order=None):排完序后改变原值  【只有这个方法改变原值】

axis : int, optional
Axis along which to sort. Default is -1, which means sort along the
last axis.
kind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, optional
Sorting algorithm. Default is 'quicksort'.
order : str or list of str, optional
When `a` is an array with fields defined, this argument specifies
which fields to compare first, second, etc. A single field can
be specified as a string, and not all fields need be specified,
but unspecified fields will still be used, in the order in which
they come up in the dtype, to break ties.

示例

a=np.arange(1,5)
print(a) # [1 2 3 4] a.sort()
print(a) # [1 2 3 4] b=np.array([[1,5,3],[4,2,7]])
b.sort()
print(b) # [[1 3 5]
# [2 4 7]]
b=np.array([[1,5,3],[4,2,7]])
b.sort(axis=0, kind='quicksort')
print(b) # [[1 2 3]
# [4 5 7]] # b=np.array([[1,5,3],[4,2,7]])
# b.sort(axis=0,kind='quicksort',order=None)
# print(b) # 参数:
# axis=0 表示按列 1 表示按行;默认是1按行排序
# kind 排序的算法,提供了快排(quicksort)、混排、堆排

np.sort

sort(a, axis=-1, kind='quicksort', order=None):用法同 sort,但是不改变原值

c=np.array([[1,5,3],[4,2,7]])
print(np.sort(c)) # [[1 3 5]
# [2 4 7]]
print(np.sort(c,axis=0)) # [[1 2 3]
# [4 5 7]] print(c) # [[1 5 3] 原值没变
# [4 2 7]]

np.argsort

argsort(self, axis=-1, kind='quicksort', order=None):返回排序后的索引

# 一维数组
data5 = np.array([1, 5, 3])
print data5.argsort() # [0 2 1] 升序
print np.argsort(data5) # [0 2 1]
print np.argsort(-data5) # [1 2 0] 降序 # 二维数组
data6 = np.array([[1,2,3],[4,5,6],[0,0,1]])
# [[1 2 3]
# [4 5 6]
# [0 0 1]]
print np.argsort(data6, axis=1) # 按行排序
# [[0 1 2]
# [0 1 2]
# [0 1 2]]
print np.argsort(data6, axis=0) # 按列排序
# [[2 2 2]
# [0 0 0]
# [1 1 1]] a_arg = np.argsort(data6[:,1]) # 按第'1'列排序
print a_arg # [2 0 1] 第2个排1,第0个排2,第1个排3
a = data6[a_arg]
print a
# [[0 0 1]
# [1 2 3]
# [4 5 6]]

numpy-排序的更多相关文章

  1. NumPy 排序、条件刷选函数

    NumPy 排序.条件刷选函数 NumPy 提供了多种排序的方法. 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性. 下表显示了三种排序算法 ...

  2. NumPy排序、搜索和计数函数

    NumPy - 排序.搜索和计数函数 NumPy中提供了各种排序相关功能. 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性. 下表显示了三种 ...

  3. NumPy 排序、查找、计数

    章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基于数值区间创建数组 NumPy 数组切 ...

  4. numpy排序(sort、argsort、lexsort、partition、sorted)

    1.sort numpy.sort(a, axis=1, kind='quicksort', order=None) a :所需排序的数组 axis:数组排序时的基准,axis=0按行排列:axis= ...

  5. Numpy 排序和使用索引

    # 导包 import numpy as np 排序 .sort() x = np.arange(16) # array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...

  6. 15、numpy——排序、条件刷选函数

    NumPy 提供了多种排序的方法. 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性. 下表显示了三种排序算法的比较. 种类 速度 最坏情况 ...

  7. NumPy排序

    numpy.sort()函数 该函数提供了多种排序功能,支持归并排序,堆排序,快速排序等多种排序算法 使用numpy.sort()方法的格式为: numpy.sort(a,axis,kind,orde ...

  8. 吴裕雄--天生自然Numpy库学习笔记:NumPy 排序、条件刷选函数

    numpy.sort() 函数返回输入数组的排序副本.函数格式如下: numpy.sort(a, axis, kind, order) 参数说明: a: 要排序的数组 axis: 沿着它排序数组的轴, ...

  9. Python 排序和numpy排序,得到排序后索引序列(及源list的序列)

    Python list 排序 & np list 排序 nums = [1.25, 0.98, 6.13, 7.62] li = np.array(nums) print(li) out = ...

  10. numpy 排序, 查询功能

    https://docs.scipy.org/doc/numpy/reference/routines.sort.html  

随机推荐

  1. JDK_API剖析之java.util包

    Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结构. 一.接口 1.Collection<E> 接口 自1.2开始有 继承Iterable< ...

  2. 论文阅读:Camdoop: Exploiting In-network Aggregation for Big Data Applications

    摘要: 大公司与中小型企业每天都在批处理作业和实时应用程序中处理大量数据,这会产生大量的网络流量,而使用传统的的网络基础架构则很难支持.为了解决这个问题已经提出了几种新颖的网络拓扑,旨在增加企业集群中 ...

  3. JS框架_(JQuery.js)纯css3进度条动画

    百度云盘 传送门 密码:wirc 进度条动画效果: <!DOCTYPE html> <html lang="zh"> <head> <me ...

  4. postgres 使用psql连接

    输入:sudo su - postgres 在bash下输入:psql,下文出现postgres字样 在postgres后:输入:\c 数据库名称,连接数据库 在数据库名#:输入查询语句或者其他sql ...

  5. C++入门经典-例3.21-goto语句实现循环

    1:代码如下: // 3.21.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> usin ...

  6. echart 饼图图例legend支持滑动

    ps: 以下针对option操作 文章目录 图例过多加上滚动条图例形状图例自定义显示图例过多加上滚动条 legend:{ top:'50', bottom:'50', type:'scroll',} ...

  7. Ubuntu13.04编译安装cmake2.8.12.2

    前提: 安装过程需要gcc和gcc-c++.ubuntu13.04桌面版自带gcc4.7,apt-get install g++4.7安装g++./usr/bin目录下有x86_64-linux-gn ...

  8. 十四:jinja2过滤器之常用的过滤器

    1.abs:返回一个数的绝对值(见上一篇)2.default:如果当前变量没有值或字段,则展示默认值(见上一篇) 3.转义过滤器:如果后端出过来的值含html标签,可以控制是否视为html标签执行或者 ...

  9. fcitx无法切换到中文(manjaro)

    安装fcitx后不能切换到中文输入法,在.bashrc或者.profile中添加以下代码: #fcitx export GTK_IM_MODULE=fcitx  export QT_IM_MODULE ...

  10. Java程序设计——不一样的开始 IP地址判定

    不一样的开始 其实,写报告,很烦人,但是着实很有用. 报告不但是自己复习回顾的数据库,还是团队合作,技术提高的加速器,认真对待报告,认真对待自己的行业,把他看作自己安身立命的对象. IP地址判定 [问 ...