numpy中实现二维数组按照某列、某行排序的方法

如何根据二维数组中的某一行或者某一列排序?假设data是一个numpy.array类型的二维数组,可以利用numpy中的argsort函数进行实现,代码实例如下:

data = data[data[:,2].argsort()] #按照第3列对行排序 

注意:argsort返回的只是排好序后的行索引,不会改变原数组。

按照某行进行排序,可以利用转置操作,代码如下所示:

data = data.T(data.T[:,2].argsort()).T # 按照第3行对列进行排序 

也可以直接按行进行排序,代码如下:

data = data[:,data[2].argsort()] 

以上这篇numpy中实现二维数组按照某列、某行排序的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文章:

  • Python numpy 提取矩阵的某一行或某一列的实例
  • 利用numpy实现一、二维数组的拼接简单代码示例
  • 一些Python中的二维数组的操作方法
(0)

相关推荐

  • Python numpy 提取矩阵的某一行或某一列的实例

    如下所示: import numpy as np a=np.arange(9).reshape(3,3) a Out[31]: array([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) 矩阵的某一行 a[1] Out[32]: array([3, 4, 5]) 矩阵的某一列 a[:,1] Out[33]: array([1, 4, 7]) b=np.eye(3,3) b Out[36]: array([[ 1., 0., 0.], [ 0., 1., 0.], [ 0.,

  • 利用numpy实现一、二维数组的拼接简单代码示例

    一维数组 1.numpy初始化一维数组 a = np.array([1,2,3]); print a.shape 输出的值应该为(3,) 二维数组 2.numpy初始化二维数组 a = np.array([[1,2,3]]); b = np.array([[1],[2],[3]]); print a.shape//(1,3) print b.shape//(3,1) 注意(3,)和(3,1)的数组是不一样的,前者是一维数组,后者是二维数组. 拼接 3.numpy有很多的拼接函数.比如hstack

  • 一些Python中的二维数组的操作方法

    需要在程序中使用二维数组,网上找到一种这样的用法: #创建一个宽度为3,高度为4的数组 #[[0,0,0], # [0,0,0], # [0,0,0], # [0,0,0]] myList = [[0] * 3] * 4 但是当操作myList[0][1] = 1时,发现整个第二列都被赋值,变成 [[0,1,0], [0,1,0], [0,1,0], [0,1,0]] 为什么...一时搞不懂,后面翻阅The Python Standard Library 找到答案 list * n->n sha

  • numpy中实现二维数组按照某列、某行排序的方法

    如何根据二维数组中的某一行或者某一列排序?假设data是一个numpy.array类型的二维数组,可以利用numpy中的argsort函数进行实现,代码实例如下: data = data[data[:,2].argsort()] #按照第3列对行排序 注意:argsort返回的只是排好序后的行索引,不会改变原数组. 按照某行进行排序,可以利用转置操作,代码如下所示: data = data.T(data.T[:,2].argsort()).T # 按照第3行对列进行排序 也可以直接按行进行排序,

  • PHP实现二维数组按指定的键名排序的方法示例

    本文实例讲述了PHP实现二维数组按指定的键名排序的方法.分享给大家供大家参考,具体如下: <?php /*二维数组按指定的键值排序*/ function array_sort($array,$keys,$type='asc'){ if(!isset($array) || !is_array($array) || empty($array)){ return ''; } //排序字段名,如:id if(!isset($keys) || trim($keys)==''){ return ''; }

  • Python中反转二维数组的行和列问题

    目录 Python反转二维数组的行和列 python数组反转 总结 Python反转二维数组的行和列 代码如下: import numpy as np arr=np.arange(12).reshape(4,3) print("原数组") print(arr) print("翻转行") print(arr[::-1]) print("翻转列") print(arr[:,::-1]) 结果如下: 原数组[[ 0  1  2] [ 3  4  5] 

  • php中遍历二维数组并以表格的形式输出的方法

    一.索引数组 <?php //使用array()语句结构将联系人列表中所有数据声明为一个二维数组,默认下标是顺序数字索引 $contact1 = array( //定义外层数组 array(1,'高某','A公司','北京市','(010)987654321','gm@Linux.com'),//子数组1 array(2,'洛某','B公司','上海市','(021)123456789','lm@apache.com'),//子数组2 array(3,'峰某','C公司','天津市','(022

  • C语言与java语言中关于二维数组的区别

    目录 C语言数中二维数组的定义格式 Java语言中二维数组的定义与初始化 静态初始化 动态初始化 下面给出两者的对比截图 C语言中的数组元素分布 Java中的数组元素分布 数组是编程语言中常用的数据结构,然而在不同的环境下,其定义及初始化的方式也不尽相同.下面来讲述一下C和Java中对于二维数组定义的区别以及其背后的原理. 在C语言中,二维数组的初始化可以省略行数,但不能省略列数:而在java中却是正好相反的,即列数可以省略,而行数是不能省略的.为什么会是这样呢?首先我们来回顾一下C和Java中

  • Python中的二维数组实例(list与numpy.array)

    关于python中的二维数组,主要有list和numpy.array两种. 好吧,其实还有matrices,但它必须是2维的,而numpy arrays (ndarrays) 可以是多维的. 我们主要讨论list和numpy.array的区别: 我们可以通过以下的代码看出二者的区别 >>import numpy as np >>a=[[1,2,3],[4,5,6],[7,8,9]] >>a [[1,2,3],[4,5,6],[7,8,9]] >>type(a

  • PHP中遍历二维数组_以不同形式的输出操作实例

    如下所示: <body> <?php //定义二维索引数组 $arr = array( array("101","李军","男","1976-02-20","95033"), array("103","陆君","男","1974-06-03","95031"), array("10

  • Python中创建二维数组

    二维数组 二维数组本质上是以数组作为数组元素的数组,即"数组的数组",类型说明符 数组名[常量表达式][常量表达式].二维数组又称为矩阵,行列数相等的矩阵称为方阵.对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素. Python中创建二维数组 Python中的列表list可以当做一维数组使用,但是没有直接的定义使用二维数组.如果直接使用a = [][]会产生SyntaxError: invalid syntax语法不正确错误. 一般Python中创建二

  • C#中获取二维数组的行数和列数以及多维数组各个维度的长度

    如何获取二维数组中的元素个数呢? int[,] array = new int[,] {{1,2,3},{4,5,6},{7,8,9}};//定义一个3行3列的二维数组 int row = array.Rank;//获取维数,这里指行数 int col = array.GetLength(1);//获取指定维度中的元素个数,这里也就是列数了.(0是第一维,1表示的是第二维) int col = array.GetUpperBound(0)+1;//获取指定维度的索引上限,在加上一个1就是总数,这

随机推荐