python 对一组list数据,进行区间划分,按照大小排序并返回索引值:

@[TOC](python 对一组list数据,进行区间划分,按照大小排序并返回索引值:)

一、对一组纬度数据进行排序:

现有4000多个纬度数据,从第0个至最后一个从-90°~90°随机分布。

在这里插入图片描述

想要实现从-90°依次从到小排至90°,既升序排列,同时返回其下标
这里引用两个函数sorted 、enumerate
第一个函数:sorted 用法说明如下
list = sorted(iterable, key=None, reverse=False)
如果只想实现升序排列,直接进行如下操作即可

lat_sort=sorted(lat)

得到:


在这里插入图片描述

但是我们想同时返回其在原来列表中的下标,既需要enumerate函数的帮忙
其使用方法如下:
enumerate(iterable, start=0)
Parameters:
Iterable: any object that supports iteration
Start: the index value from which the counter is
to be started, by default it is 0
我们先对lat数据直接进行使用看看返回了什么:

a=enumerate[lat]
在这里插入图片描述

发现无法查看其具体结果,所以再将其转换为list格式,以便浏览

a=list(enumerate(lat))
在这里插入图片描述

很明显,上述操作,将每个原始lat中数据的值及其下标返回了,因此再次进行sorted排序是即可查看它对应的下标啦~

但是!!!,因为此时list中既有下标、又有数值,在进行排序时是按照下标还是数值呢,所以需要增加一个维度设定,既

对于sorted(iterable, ****key=None****, reverse=False)中的key进行设定,使其按照所需纬度进行排序。

这里我需要的是根据数值排序,所以进行如下操作:

    
a=sorted(list(enumerate(lat)),key=lambda dimension: dimension[1])

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
补充一下:

lambda 函数是一种小的匿名函数,可接受任意数量的参数,但只能有一个表达式。
比如:对于想要传入的参数使其加上6,即可设置为:

x= lambda a : a + 10

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
回到正题
我们运行上述代码会得到:


在这里插入图片描述

果然!!!不出所料按照我们想要的结果实现啦~

下面,是提取对应的维度结果,比如我们想要将下标和数值分别放置在一个list中,只要这样即可:

index = [i[0] for i in a]
lat_sort = [i[1] for i in a]    
    
在这里插入图片描述

在这里插入图片描述

不出所料,是不是很easy呐!
如果想要按照原始lat中,不同数值按照不同颜色排列,只需将list转为array即可

lat_sort=np.array(lat_sort)    
在这里插入图片描述

二、将lat数据按照10为区间进行排序并统计每个区间存在的个数:

首先整理一下思路,我们要进行排序,然后区间进行分割。
这里引出一个新的函数:groupby(),其参数属性如下所示:

DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=<object object>, observed=False, dropna=True)
感兴趣的小伙伴们可以去点击下方中进行仔细浏览:

groupby参数引用

总之,我们可以通过groupby,达到分割数据的目的,
进行如下操作:

    
lat_sort=[]
for k, g in groupby(sorted(lat), key=lambda x:x//10):
     #x//10:对x取整除 - 返回商的整数部分
    print('{}-{}:{}'.format(k*10, (k+1)*10-1,len(list(g))))


在这里插入图片描述

完美!!!

引用:https://blog.csdn.net/weixin_44237337/article/details/116139690?spm=1001.2014.3001.5502

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容