python对数组进行排序,并输出排序后对应的索引值方式

废话不多说,直接上代码吧!

# -*- coding: cp936 -*-

import numpy as np

#一维数组排序

arr = [1, 3, 5, 2, 4, 6]

arr = np.array(arr)

print arr

print np.sort(arr)#或print np.sort(arr,axis=None)

print (np.argsort(arr)) # 正序输出索引,从小到大

print (np.argsort(-arr)) # 逆序输出索引,从大到小

输出结果:

[1 3 5 2 4 6]

[1 2 3 4 5 6]

[0 3 1 4 2 5]

[5 2 4 1 3 0]

#二维数组排序

list1 = [[4,3,2],[2,1,4]]

array=np.array(list1)

print array

array.sort(axis=1) #axis=1按行排序,axis=0按列排序

print array

输出结果:

[[4 3 2]

[2 1 4]]

[[2 3 4]

[1 2 4]]

补充拓展:python 对数组进行排序并保留索引

如下所示:

import numpy as np

arr = [1, 3, 5, 2, 4, 6]

arr = np.array(arr)

print (np.argsort(arr)) # 正序输出

print (np.argsort(-arr)) # 逆序输出

以上这篇python对数组进行排序,并输出排序后对应的索引值方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2020-02-27

这篇文章主要介绍了Python获取二维数组的行列数的2种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 import numpy as np x = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]]) # 输出数组的行和列数 print x.shape # (4, 3) # 只输出行数 print x.shape[0] # 4 # 只输出列数 print x.shape[1] # 3 或者 In [48]

reshape(shape) : 不改变数组元素,返回一个shape形状的数组,原数组不变.是对每行元素进行处理 resize(shape) : 与.reshape()功能一致,但修改原数组 In [1]: a = np.arange(20) #原数组不变 In [2]: a.reshape([4,5]) Out[2]: array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19]])

不同的数字之间使用 空格" ","$","*"等隔开,支持带小数点的字符串 NumArray=str2num(LineString,comment='#') 将字符串中的所有非Double类型的字符全部替换成空格 以'#'开头直至行尾的内容被清空 返回一维numpy.array数组 import numpy import scipy def str2num(LineString,comment='#'): from io import Strin

一.问题描述 1.求一个无序数组的中位数, (若数组是偶数,则中位数是指中间两个数字之和除以2,若数组是奇数,则中位数是指最中间位置.要求:不能使用排序,时间复杂度尽量低 2.例如: lists = [3, 2, 1, 4] , 中位数为 = (2+3)/2 = 2.5 lists = [3, 1, 2] , 中位数为 2 3.算法思想: 利用快速排序思想(但是并不是全部使用):任意挑选一个元素,以该元素为key, 划分数组为两个部分,如果左侧数组长度刚好为(n-1)/2, 那么key就为中位数

在python中,用于数组拼接的主要来自numpy包,当然pandas包也可以完成. 而,numpy中可以使用append和concatenate函数: 1. 建立数组 # pandas有专门的连接方法 import numpy as np # np.size(a, 0) 行数 # np.size(a, 1) 列数 a = np.array([[1, 2],[3, 4],[5, 6]]) b = np.array([[11, 22],[33, 44],[55, 66]]) print(np.si

我就废话不多说了,直接上代码吧! import datetime def find_close(arr, e): start_time = datetime.datetime.now() size = len(arr) idx = 0 val = abs(e - arr[idx]) for i in range(1, size): val1 = abs(e - arr[i]) if val1 < val: idx = i val = val1 use_time = datetime.dateti

关于多维数组如何复合排序 如数组: >>> import numpy as np >>> data = np.array([[2,2,5],[2,1,3],[1,2,3],[3,1,4]]) >>>> data array([[2, 2, 5], [2, 1, 3], [1, 2, 3], [3, 1, 4]]) 将数组先按照第一列升序,第二列升序,第三列升序的方式排序: >>> idex=np.lexsort([data[:,

本文实例讲述了Python实现二维数组按照某行或列排序的方法.分享给大家供大家参考,具体如下: lexsort支持对数组按指定行或列的顺序排序:是间接排序,lexsort不修改原数组,返回索引. (对应lexsort 一维数组的是argsort a.argsort()这么使用就可以:argsort也不修改原数组, 返回索引) 默认按最后一行元素有小到大排序, 返回最后一行元素排序后索引所在位置. 设数组a, 返回的索引ind,ind返回的是一维数组 对于一维数组, a[ind]就是排序后的数组.

0.目录 1.遇到的问题 2.创建二维数组的办法 •3.1 直接创建法 •3.2 列表生成式法 •3.3 使用模块numpy创建 1.遇到的问题 今天写Python代码的时候遇到了一个大坑,差点就耽误我交作业了... 问题是这样的,我需要创建一个二维数组,如下: m = n = 3 test = [[0] * m] * n print("test =", test) 输出结果如下: test = [[0, 0, 0], [0, 0, 0], [0, 0, 0]] 是不是看起来没有一点问

本文介绍下,php中使用array_multisort函数进行二维数组排序的例子,有需要的朋友,参考下吧.继上一篇文章:PHP二维数组排序自定义函数,今天,我们再介绍一个php二维数组排序的例子.php对二维数组的排序很简单,主要用到array_multisort函数.例子: 复制代码 代码如下: <?php /** * php二维数组排序 * edit www.jb51.net*/     $data = array();     $data[] = array('volume' => 67

本文实例讲述了PHP按指定键值对二维数组进行排序的方法.分享给大家供大家参考,具体如下: 问题: 有数组: 复制代码 代码如下: array(0=>array('id'=>1,'price'=>50),1=>array('id'=>2,'price'=>60)); 要求根据数组的price这个字段进行排序. 实现代码如下: <?php $array[] = array('id'=>1,'price'=>50); $array[] = array('id

本文实例讲述了php根据某字段对多维数组进行排序的方法.分享给大家供大家参考.具体分析如下: 根据某字段对多维数组进行排序,在看到array_multisort方法的作用时突然想到,可以用来做这个方法 这段代码可实现根据field字段对数组进行排序 function sortArrByField(&$array, $field, $desc = false){ $fieldArr = array(); foreach ($array as $k => $v) { $fieldArr[$k]

PHP中array_multisort可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序. 关联(string)键名保持不变,但数字键名会被重新索引. 输入数组被当成一个表的列并以行来排序--这类似于 SQL 的 ORDER BY 子句的功能.第一个数组是要排序的主要数组.数组中的行(值)比较为相同的话就按照下一个输入数组中相应值的大小来排序,依此类推.--这句话是理解此函数用法的关键. 第一个参数必须是一个数组.接下来的每个参数可以是数组或者是下面列出的排序标志. 排序顺序

本文实例总结了php一维二维数组键排序方法.分享给大家供大家参考.具体方法如下: 在php中数组排序一直是一个老生常谈的问题,下面我们来集中讲一下关于在php中一维数组与二维数组排序的实现程序,相信对大家有一定的参考借鉴价值. 功能:对数组进行重新排序. 说明:冒泡排序 (一维数组)(二维数组某个健排序) 两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止 设想被排序的数组R[1..N] 垂直竖立,将每个数据元素看作有重量的气泡,从下往上扫描数组,凡

之前提到去除一维数组中的重复元素用unique()函数,如果要去除二维数组中的重复行该怎么操作呢? import numpy as np arr = np.array([[1, 2],[3, 4],[5, 6],[7, 8],[3, 4],[1, 2]]) print(np.array(list(set([tuple(t) for t in arr])))) 输出: [[1 2] [3 4] [5 6] [7 8]] 如果是二维列表,列表中每个元素还是列表 list2=list(set([tup

python 数组排序索引_python对数组进行排序,并输出排序后对应的索引值方式相关推荐

  1. python numpy array索引_Python NumPy 数组索引

    1.访问数组元素 数组索引与访问数组元素相同. 您可以通过引用其索引号来访问数组元素. NumPy数组中的索引以0开头,这意味着第一个元素的索引为0,第二个元素的索引为1等. 例如: 从以下数组中获取 ...

  2. C语言:用二维字符数组的每行存储键盘输入的字符串,将这些字符串按字典顺序升序排序,输出排序后的结果。

    /*C语言:用二维字符数组的每行存储键盘输入的字符串,将这些字符串按字典顺序升序排序,输出排序后的结果.*/#include <stdio.h> #include <conio.h& ...

  3. 数组排序:声明一个整型数组并填充数据,排序,输出排序后数据,倒序输出数据。

    数组排序:声明一个整型数组并填充数据,排序,输出排序后数据,倒序输出数据. int[] arr = new int[10];for (int i = 0;i<arr.length;i++){ar ...

  4. 【Java】数组逆序操作。定义长度为10的数组,将数组元素对调并输出对调后的结果。

    题目:数组逆序操作.定义长度为10的数组,将数组元素对调并输出对调后的结果. 思路:把0索引和arr.length-1的元素交换,把1索引和arr.length-2元素交换--只要交换到arr.len ...

  5. 设n个整数的集合{1,2,3,,,n},从中取出r个进行排序,输出排序结果一本通P247

    设n个整数的集合{1,2,3,n},从中取出r个进行排序,输出排序结果 #include<iostream> using namespace std; int c[1001],n,r; / ...

  6. java数组排序法方法_JAVA数组中五种常见排序方法

    前言: 几种常用的JAVA数组排序方法的整合. 法一:Arrays.sort() Arrays.sort()排序方法在java中是最简单且最常用的排序方法 int []arr1= {45,34,59, ...

  7. mysql blob图片类型存储bug解决:索引超出了数组界限错误,MySqlBlob图片类型存储Bug解决:索引超出了数组界限错误_MySQL...

    告别了一周多的网络,终于回归,突见群里,有网友提了以下问题: CYQ.Data框架测试:mysql数据库测试(保存blob类型的数据会出问题) ,针对mysql数据库做测试:发现更新blog字段,总是 ...

  8. python中multiindex如何索引_python – MultiIndex DataFrames的Pandas HDFStore:如何有效地获取所有索引...

    在Pandas中,有没有办法以表格格式有效地提取HDFStore中存在的所有MultiIndex索引? 我可以使用where =来有效地选择(),但我想要所有索引,而不是所有列.我也可以选择()使用i ...

  9. python数组排序代码_python按值数组排序字典

    您需要对值进行排序,然后在第一个索引上(对于从零开始的索引,0)并告诉{}颠倒顺序:import operator sorted(myDict.values(), key=operator.itemg ...

最新文章

  1. 【OCR技术系列之二】文字定位于切割
  2. python乘法口诀-怎么用Python把这样的乘法口诀表打出来?
  3. Hadoop 资源列表
  4. 高并发 python socket send 异步_对于Python中socket.listen()与多线程结合的困惑?
  5. 关于Adapter的The content of the adapter has changed but ListView did not receive a notification.问题分析
  6. 数据结构--线性表顺序存储(顺序表)
  7. PaddleOCR和ChineseOCR的对比
  8. (递推1)兔子繁殖问题
  9. Flutter布局锦囊---带输入字段的应用栏
  10. python 存储数据到有向无环图寻找路径_Python 随即生成DAG(有向无环图)
  11. atitit 完整的知识体系表 学科体系表 v2
  12. 2012服务器系统安装iis,Windows Server 2012 安装配置IIS教程
  13. Android APK加密原理与演示
  14. 计算机考试win10可以吗,计算机二级考试练习系统可以用win10吗?
  15. Linux排查CPU使用率100%
  16. 转载nbsp;图像阈值选取
  17. 日本房地产泡沫 Japan Real Estate Bubble
  18. 基于VC++6.0开发俄罗斯方块(五)
  19. 做自媒体如何获得更多的流量?
  20. 台式计算机内存可以扩展到多大,64位电脑系统可以支持多大内存【详细介绍】...

热门文章

  1. js类型判断(数字、0、、undefined、null)
  2. 计算机程序CP电子文献,电子文献标识
  3. php中使用curl采集小说网,PHP:通过curl实现采集网站内容
  4. h5球的立体效果_使用HTML5 Canvas 2D直角坐标系实现三维球体效果
  5. php的ftp怎么代理访问,利用PHP登陆FTP实现服务器资源同步 | Lancer's Blog
  6. mysql存储过程删除_MySQL 存储过程删除大表
  7. mybatis存在就不插入_mybatis只能进行查找,不能进行删除,插入,更新解决方案...
  8. mysql整段注释_MySQL 添加注释(comment)
  9. python开发效率怎样提高_python 提高开发效率的5个小技巧
  10. mysql for windows_mysql安装教程-windows版