python的argsort

1.python argsort()究竟如何返回的

在Python中使用help帮助

>>> import numpy

>>> help(numpy.argsort)

Help on function argsort in module numpy.core.fromnumeric:

argsort(a, axis=-1, kind='quicksort', order=None)

Returns the indices that would sort an array.

Perform an indirect sort along the given axis using the algorithm specified

by the `kind` keyword. It returns an array of indices of the same shape as

`a` that index data along the given axis in sorted order.

从中可以看出argsort函数返回的是数组值从小到大的索引值

Examples

--------

>>> x = np.array([3, 1, 2])

>>> np.argsort(x)

array([1, 2, 0])

--------

argsort函数返回的是数组值从小到大的索引值

[3, 1, 2]从小到大为[1,2,3],期对应的索引为[1,2,0]

2.python sort()用法

Python中的sort()方法用于数组排序,下面以实例形式对此加以详细说明:

一、基本形式

列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的。

x = [4, 6, 2, 1, 7, 9]x.sort()

print x # [1, 2, 4, 6, 7, 9]如果需要一个排序好的副本,同时保持原有列表不变,怎么实现呢

x =[4, 6, 2, 1, 7, 9]

y = x[ : ]

y.sort()

print y #[1, 2, 4, 6, 7, 9]

print x #[4, 6, 2, 1, 7, 9]注意:y = x[:] 通过分片操作将列表x的元素全部拷贝给y,如果简单的把x赋值给y:y = x,y和x还是指向同一个列表,并没有产生新的副本。

另一种获取已排序的列表副本的方法是使用sorted函数:

x =[4, 6, 2, 1, 7, 9]

y = sorted(x)

print y #[1, 2, 4, 6, 7, 9]

print x #[4, 6, 2, 1, 7, 9]sorted返回一个有序的副本,并且类型总是列表,如下:

print sorted('Python') #['P', 'h', 'n', 'o', 't', 'y']二、自定义比较函数

可以定义自己的比较函数,然后通过参数传递给sort方法:

def comp(x, y):

if x < y:

return 1

elif x > y:

return -1

else:

return 0

nums = [3, 2, 8 ,0 , 1]

nums.sort(comp)

print nums # 降序排序[8, 3, 2, 1, 0]

nums.sort(cmp) # 调用内建函数cmp ,升序排序

print nums # 降序排序[0, 1, 2, 3, 8]三、可选参数

sort方法还有两个可选参数:key和reverse

1、key在使用时必须提供一个排序过程总调用的函数:

x = ['mmm', 'mm', 'mm', 'm' ]

x.sort(key = len)

print x # ['m', 'mm', 'mm', 'mmm']2、reverse实现降序排序,需要提供一个布尔值:

y = [3, 2, 8 ,0 , 1]

y.sort(reverse = True)

print y #[8, 3, 2, 1, 0]

3.Python里的sort语句

Python中的sort()函数是序列的内部函数,函数原型:

L.sort(cmp=None, key=None, reverse=False)函数作用:它是把L原地排序,也就是使用后并不是返回一个有序的序列副本,而是把当前序列变得有序。

Python中sort()参数说明:

(1) cmp参数

cmp接受一个函数,拿整形举例,形式为:

def f(a,b):

return a-b如果排序的元素是其他类型的,如果a逻辑小于b,函数返回负数;a逻辑等于b,函数返回0;a逻辑大于b,函数返回正数就行了。

(2) key参数

key也是接受一个函数,不同的是,这个函数只接受一个元素,形式如下:

def f(a):

return len(a)key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序

(3) reverse参数

接受False 或者True 表示是否逆序

Python中sort()函数举例:

(1)按照元素长度排序

L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]

def f(x):

return len(x)

sort(key=f)

print L

//输出:

//[{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}](2)按照每个字典元素里面key为1的元素的值排序

L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]

def f2(a,b):

return a[1]-b[1]

L.sort(cmp=f2)

print L

//输出:

//[{1: 1, 2: 4, 5: 6}, {1: 3, 6: 3}, {1: 5, 3: 4}, {1: 9}]

4.python的lambda形式的理解

lambda 创建一个匿名函数。冒号前面是传入参数,后面是一个处理传入参数的单行表达式。

调用lambda函数返回表达式的结果。

list的sort 同于内建函数sorted。它有三个参数cmp,key,reverse,均有默认值。

cmp是一个比较器,自定义比较器的话传入两个参数x,y,返回值限制为1(x>y), 0(x=y), -1(x<y)。默认是常规比较,数字比较,字符串比较等等。

key是对序列元素处理(比如问题中序列元素仍是序列,就可以再对序列取索引值),也就是sort的比较器实际接收到值是key处理后的结果(问题中实际参与比较的是1,2,3,4)。

reverse默认是False,意思是从小到大排序,传入True,就从大到小排。

5.python中numpy.argmin什么意思

numpy.argmin表示最小值在数组中所在的位置

a = [[1, 4, 2], [3, 4, 5]]

b = np.argmin(a)

结果:0

a = [[4, 4, 2], [3, 4, 5]]

b = np.argmin(a)

结果:2

#若有重复只显示第一个最小值的位置

a = [[0, 0, 2], [3, 4, 5]]

b = np.argmin(a)

结果:0

------------------------------------

若添加axis这个参数-----求在行或者列方向上的最小值索引

axis=0 表示列方向上的最小值索引,axis=1表示行方向的最小值索引

a = [[2, 0, 5], [3, 4, 1]]

b = np.argmin(a, axis=0)

结果:[0, 0, 1] #在列方向上2<3, 0<4, 1<5

a = [[2, 0, 5], [3, 4, 1]]

b = np.argmin(a, axis=1)

结果:[1, 2] # 在行方向上,第一行0最小,在1号位置,第二行1最小,在2号位置

6.python的一个sort函数不知道哪里错了

无法判断/调试长代码的话, 给他缩减就能发现问题:

>>> from datetime import datetime

>>> import re

>>> s = '@ 2014 2 14 12:33:52 Boris "load " 0.01'

>>> r = re.compile('^@\s+(\d{4}\s+\d{1,2}\s+\d{1,2}\s+\d+:\d+:\d+)')

>>> datetime.strptime(r.match(s).group(1), '%Y %m %d %H:%M:%S')

datetime.datetime(2014, 2, 14, 12, 33, 52)

python的argsort

转载请注明出处编程代码网 » python的argsort

资讯

pythonplt

阅读(7)

本文主要为您介绍pythonplt,内容包括pythonplt怎么画数据点和标签图,pythonplt怎么画数据点和标签图,pythonplt.imshow怎么用。用法以既步骤:给出一张图片。

资讯

wifi破解python

阅读(7)

本文主要为您介绍wifi破解python,内容包括python怎么破解无线网密码,如何用python轻松破解wifi密码,如何用python轻松破解wif梦幻西游无双开服公告i密码。环境准备python2.7凑合的linux差不多的无线网卡pywifi模块弱口令字典清除系统中的任

资讯

python虚拟主机

阅读(7)

本文主要为您介绍python虚拟主机,内容包括哪些支持python的虚拟主机值得推荐,python虚拟机是什么意思,请问哪有支持modpython的虚拟主机。九州我以前买过一个月,但存在的安全问题不得不考虑.九州的确可以支持python,php,perl,客服也还行,但安

资讯

axispython

阅读(7)

本文主要为您介绍axispython,内容包括pythonaxis=0是代表的行还是列,pythonaxis=0是代表的行还是列,如何解决python3下axis=。import jsonimport pandas as pddb = json.loads(open(pruItems.json, r)

资讯

phppython学哪个

阅读(5)

本文主要为您介绍phppython学哪个,内容包括php和python哪个学哪个比较好,php和python哪个容易学,php与python语言学哪一个比较好。单说做网页的复话php肯定要比python更适合些因为这是php的主要目的如果说只是要入门编程的话,python相对要简

资讯

python爬虫包

阅读(6)

本文主要为您介绍python爬虫包,内容包括Python爬虫导的哪个包,我想要学习爬虫,以下是我已经安装好的python包,我还需要下载些什,Python爬虫导的哪个包。可以看这个教程:网页链接此教程 通过三个爬虫案例来使学员认识Scrapy框架、了解Scrapy

资讯

python2.7爬虫

阅读(5)

本文主要为您介绍python2.7爬虫,内容包括[Python2.7][爬虫][BeautifulSoup],如图,使用soup.find()查找到目,Python2.7爬虫问题,mysql错误\xA0,怎么除掉amp;nbsp,python为什么叫爬虫。因为python的脚本特性,易于配置,对字符的处理也非常灵活,就

资讯

python浮点数字符串

阅读(6)

本文主要为您介绍python浮点数字符串,内容包括Python如何输入字符串,输入数字,输入浮点数,python如何判断一个字符串是浮点型数据,python怎么将字符串类型转化为浮点数。int函数能够(1)把符合数学格式的数字型字符串转换成整数(2)把浮点数

资讯

python定义宏

阅读(6)

本文主要为您介绍python定义宏,内容包括python有宏定义,或者枚举么,Excel宏定义中怎样生成Python脚本,怎么定义宏,和使用宏。宏指令是指程序员事先定义的特定的单一“指令”,这样指令是一组重复出现的代码的缩写,此后在宏指令出现的地方,汇编

资讯

recvfrompython

阅读(6)

本文主要为您介绍recvfrompython,内容包括python设计UDP通信时,recvfrom()中的参数是什么意思,python怎么用log函数,python中的iterable是什么意思。socket.recvfrom(bufsize[, flags])Receive data from the socket. The r

资讯

python抓取微博

阅读(5)

本文主要为您介绍python抓取微博,内容包括python如何抓取新浪微博的微博内容,如何使用python根据关键词抓取微博,如何使用python根据关键词抓取微博。作为最近才搞完类似项目的来说一句。基本的套路就是利用微博账号模拟登陆,这个过程比较复

资讯

python接口提供

阅读(5)

本文主要为您介绍python接口提供,内容包括Python中怎么写接口啊,我在网上一直找不到,Python天生支持接口,是吗,我会Python,且第三方系统有接口,我应该如何通过Python去调用第。什么是接口 ?接口只是定义了一些方法,而没有去实现,多用于程序设

资讯

pythonc知乎

阅读(7)

本文主要为您介绍pythonc知乎,内容包括Python和C哪个更好学,学c和python哪个好,大家建议同时学python和c语言吗如果不建议,先学那个比较好呢。C语言:C语言是大学生接触的第一门编程语言,它的重要性也是不言而喻的。2、C语言是一个面向过程的

资讯

python正则表达式空格

阅读(6)

本文主要为您介绍python正则表达式空格,内容包括python正则表达式怎么匹配一个“两端都有空格且内部无空格、横线和,python正则表达式匹配一个空格分隔的所有单词对,为什么python的正则表达式不能匹配前面有空格的。# encoding: UTF-8 impo

资讯

pythonplt

阅读(7)

本文主要为您介绍pythonplt,内容包括pythonplt怎么画数据点和标签图,pythonplt怎么画数据点和标签图,pythonplt.imshow怎么用。用法以既步骤:给出一张图片。

资讯

wifi破解python

阅读(7)

本文主要为您介绍wifi破解python,内容包括python怎么破解无线网密码,如何用python轻松破解wifi密码,如何用python轻松破解wif梦幻西游无双开服公告i密码。环境准备python2.7凑合的linux差不多的无线网卡pywifi模块弱口令字典清除系统中的任

资讯

python虚拟主机

阅读(7)

本文主要为您介绍python虚拟主机,内容包括哪些支持python的虚拟主机值得推荐,python虚拟机是什么意思,请问哪有支持modpython的虚拟主机。九州我以前买过一个月,但存在的安全问题不得不考虑.九州的确可以支持python,php,perl,客服也还行,但安

资讯

axispython

阅读(7)

本文主要为您介绍axispython,内容包括pythonaxis=0是代表的行还是列,pythonaxis=0是代表的行还是列,如何解决python3下axis=。import jsonimport pandas as pddb = json.loads(open(pruItems.json, r)

资讯

phppython学哪个

阅读(5)

本文主要为您介绍phppython学哪个,内容包括php和python哪个学哪个比较好,php和python哪个容易学,php与python语言学哪一个比较好。单说做网页的复话php肯定要比python更适合些因为这是php的主要目的如果说只是要入门编程的话,python相对要简

资讯

python爬虫包

阅读(6)

本文主要为您介绍python爬虫包,内容包括Python爬虫导的哪个包,我想要学习爬虫,以下是我已经安装好的python包,我还需要下载些什,Python爬虫导的哪个包。可以看这个教程:网页链接此教程 通过三个爬虫案例来使学员认识Scrapy框架、了解Scrapy

资讯

python2.7爬虫

阅读(5)

本文主要为您介绍python2.7爬虫,内容包括[Python2.7][爬虫][BeautifulSoup],如图,使用soup.find()查找到目,Python2.7爬虫问题,mysql错误\xA0,怎么除掉amp;nbsp,python为什么叫爬虫。因为python的脚本特性,易于配置,对字符的处理也非常灵活,就

资讯

pythonc的结构体

阅读(7)

本文主要为您介绍pythonc的结构体,内容包括Python中如何使用C的结构体struct求解,c结构体怎么用python写,各位老板,python怎么把c里面的结构体读进来。閟truct就可以使用结构体了: import struct 生成一个结构体实例: data = struct.pack( fo

资讯

python读取汉字

阅读(2)

本文主要为您介绍python读取汉字,内容包括python读取的中文怎么使用,python怎么读取文本中的汉字,python怎么读取文本中的汉字。在python脚本的第一行加上#encoding=utf-8即可。程序如下:Created on 2011-9-24@author: l

资讯

python数组行列

阅读(2)

本文主要为您介绍python数组行列,内容包括python3如何把由坐标构成的一维数组转换成行列分别为xy值的二维数组,python中怎样让数据列转置,python怎么输入一个数组矩阵。需求:你需要转置一个二维数组,将行列互换.讨论:你需要确保该数组的行列数

资讯

跳板机python

阅读(2)

本文主要为您介绍跳板机python,内容包括如何直接通过跳板机ssh到服务器,如何无视跳板机,如何直接通过跳板机ssh到服务器。公司连上远程游戏服需要先ssh登到跳板机,再在跳板机上ssh到远程,不能直连,如:自己的系统(Mac OS) ===&gt; 跳板机 =

资讯

python公开课

阅读(2)

本文主要为您介绍python公开课,内容包括Python教学视频实用型的哪里有,哪的Python视频教程比较好,有什么比较好的Python学习教程。随着人工智能时代呼声渐起,Python凭借其入门简单、应用广泛的优势成为很多想要入行互联网行业的人们的首选编

资讯

python二进制文件读取

阅读(2)

本文主要为您介绍python二进制文件读取,内容包括在python中如何从二进制文件中读取信息,在python中如何从二进制文件中读取信息,python二进制文件的读取与写入可以分别使用和方法。你是指读入二进制文件吧?可以使用numpy.fromfile(),也可以使

资讯

python黑客pdf

阅读(2)

本文主要为您介绍python黑客pdf,内容包括为什么很多关于python的黑客书,我想成为一名黑客,我在学python,可是里面讲的多是游戏设计,能否,求黑客书籍资源。学习是循序渐进的过程最常见的有两本python和黑客相关的书《python灰帽子:黑客与逆向

资讯

pythonexcel中文

阅读(2)

本文主要为您介绍pythonexcel中文,内容包括python怎么读excel中文,python怎么将中文写入excel文档,python怎么输出中文文件名excel。简单的介绍一下这两个库,先说xlrd,这个库读excel比较方便,各种方法使用起来也挺方便:bk = xlrd.open_workboo

资讯

apachepythonlinux

阅读(2)

本文主要为您介绍apachepythonlinux,内容包括请教一个关于linux下APACHE关于PYTHON的设置问题,linux配置apache和python的环境,modpython在安装的报错处理,在线,如何在Apache下设置Python。二、linux下apache配置python 一.安装apache apac

资讯

chainPython

阅读(2)

本文主要为您介绍chainPython,内容包括ord在python是什么意思怎么使用,Python大神解释一下吧,python中round函数怎么用。>>>help(ord)Help on built-in function ord in module builtins:ord() #

资讯

python添加一行

阅读(2)

本文主要为您介绍python添加一行,内容包括python怎么实现数组增加一行或多行,python如何将字符串增加一行,python怎么实现数组增加一行或多行。把文档全部作为一个字符串,字符串可以相加, 如在1.doc里添加s 和d,用>>>file=open(1.doc,r)>>>str