Numpy 排序和使用索引
# 导包
import numpy as np
排序
.sort()
x = np.arange(16) # array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
# 随机打乱顺序,且x顺序改变
np.random.shuffle(x) # array([13, 2, 6, 7, 11, 10, 3, 4, 8, 0, 5, 1, 9, 14, 12, 15])
np.sort(x)
x # array([13, 2, 6, 7, 11, 10, 3, 4, 8, 0, 5, 1, 9, 14, 12, 15])
x.sort()
x # array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
X = np.random.randint(10, size=(4,4))
# 每列按大小排序
np.sort(X, axis=0)
# 每行按大小排序
np.sort(X, axis=1)
使用索引
.argsort()
x = np.arange(16)
np.random.shuffle(x)
x # array([ 5, 13, 0, 10, 2, 14, 1, 3, 11, 8, 12, 9, 7, 4, 6, 15])
np.argsort(x) # array([ 2, 6, 4, 7, 13, 0, 14, 12, 9, 11, 3, 8, 10, 1, 5, 15],dtype=int64)
"""
所得结果为打乱后数据从小到大排列的索引
"""
.partition()
np.partition(x, 7) # array([ 1, 3, 0, 4, 2, 5, 6, 7, 8, 12, 13, 9, 11, 10, 14, 15])
"""
np.partition(x,7) # 表示数组 x 中第 7 小的元素位于排序完成数组 x 的第 7 个位置上
然后小于该元素的位于该元素左边,大于该元素的位于右边,
左右两边没有特别的排序要求,只要求左边小于该元素,右边大于该元素即可
"""
.argpartition()
#返回的是排序完成的元素索引数组
np.argpartition(x, 7)
np.random.seed(10)
X = np.random.randint(10, size=(4,4))
"""
array([[9, 4, 0, 1],
[9, 0, 1, 8],
[9, 0, 8, 6],
[4, 3, 0, 4]])
""" np.argsort(X, axis=1)
"""
array([[2, 3, 1, 0],
[1, 2, 3, 0],
[1, 3, 2, 0],
[2, 1, 0, 3]], dtype=int64)
""" np.argpartition(X, 2, axis=1)
"""
array([[2, 3, 1, 0],
[1, 2, 3, 0],
[1, 3, 2, 0],
[2, 1, 0, 3]], dtype=int64)
"""
Numpy 排序和使用索引的更多相关文章
- NumPy 排序、条件刷选函数
NumPy 排序.条件刷选函数 NumPy 提供了多种排序的方法. 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性. 下表显示了三种排序算法 ...
- numpy排序(sort、argsort、lexsort、partition、sorted)
1.sort numpy.sort(a, axis=1, kind='quicksort', order=None) a :所需排序的数组 axis:数组排序时的基准,axis=0按行排列:axis= ...
- NumPy排序、搜索和计数函数
NumPy - 排序.搜索和计数函数 NumPy中提供了各种排序相关功能. 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性. 下表显示了三种 ...
- NumPy 排序、查找、计数
章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基于数值区间创建数组 NumPy 数组切 ...
- Mysql 排序优化与索引使用(转)
为了优化SQL语句的排序性能,最好的情况是避免排序,合理利用索引是一个不错的方法.因为索引本身也是有序的,如果在需要排序的字段上面建立了合适的索引,那么就可以跳过排序的过程,提高SQL的查询速度.下面 ...
- 科学计算库Numpy——排序
矩阵按维度排序 使用np.sort()进行排序. 排序索引值 使用np.argsort()排序,返回排序后的索引值. 备注:array1[1,2]=1.2,array1[1,0]=5.6,array1 ...
- mysql 排序字段与索引有关系吗?
mysql 排序字段与索引有关系吗?答案与否需要你explain一下你的sql脚本 另外记住:date_add()方法会影响Index_modify_time索引(即:时间字段索引) 一般遇到这样的 ...
- Numpy对数组按索引查询
Numpy对数组按索引查询 三种索引方法: 基础索引 神奇索引 布尔索引 基础索引 一维数组 和Python的List一样 二维数组 注意:切片的修改会修改原来的数组 原因:Numpy经常要处理大数组 ...
- Python 排序和numpy排序,得到排序后索引序列(及源list的序列)
Python list 排序 & np list 排序 nums = [1.25, 0.98, 6.13, 7.62] li = np.array(nums) print(li) out = ...
随机推荐
- Django学习之文件下载
在实际的项目中很多时候需要用到下载功能,如导excel.pdf或者文件下载,当然你可以使用web服务自己搭建可以用于下载的资源服务器,如nginx,这里我们主要介绍django中的文件下载. 我们这里 ...
- Flutter学习笔记(29)--Flutter如何与native进行通信
如需转载,请注明出处:Flutter学习笔记(29)--Flutter如何与native进行通信 前言:在我们开发Flutter项目的时候,难免会遇到需要调用native api或者是其他的情况,这时 ...
- 05-03 主成分分析(PCA)
目录 主成分分析(PCA) 一.维数灾难和降维 二.主成分分析学习目标 三.主成分分析详解 3.1 主成分分析两个条件 3.2 基于最近重构性推导PCA 3.2.1 主成分分析目标函数 3.2.2 主 ...
- 推荐一款可以丰富博文GIF免费录制工具——GifCam
在网上写博文,看别人添加gif图片很好奇,于是尝试制作并传递了一次,确实挺有意思的,于是分享一下. gifcam是一个绿色的,可以录制GIF动图的小软件,十分适合用来录制电脑的各种操作. 在这里附上工 ...
- JS中的排序算法-冒泡排序解析
冒泡排序算法 例子:10,8,9,6,4,20,5 从小到大排序 第一轮 1)10>8 交换数据 得到:8,10,9,6,4,20,5 2)10>9 交换数据 得到:8,9,10, ...
- Cocos Creator实现大炮英雄,附代码!
游戏预览 开始场景 搭建开始场景 摆放一个背景图,在背景图上添加背景地面.开始按钮.4个角色选择按钮.游戏logo. 创建游戏脚本 1. 实现开始按钮的回调,点击开始按钮,跳转到游戏场景.跳转 ...
- 【DP合集】背包 bound
N 种物品,第 i 种物品有 s i 个,单个重量为 w i ,单个价值为 v i .现有一个限重为 W 的背包,求能容 纳的物品的最大总价值. Input 输入第一行二个整数 N , W ( N ≤ ...
- Python高级核心技术97讲 ☝☝☝
Python高级核心技术97讲 ☝☝☝ Python高级核心技术97讲 系列教程 学习 教程 Python的标准整数类型是最通用的数字类型.在大多数32位机器上,标准整数类型的取值范围是-2**31 ...
- LIS&&LCS&&LCIS
LIS #include<bits/stdc++.h> using namespace std; int n,a[100005],b[100005],ji; int main(){ cin ...
- Vue-CLI项目快速UI布局-element-ui
0902自我总结 Vue-CLI项目快速UI布局-element-ui 一.element-ui的地址 https://element.eleme.cn/ 二.element-ui的安装 <!- ...