iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >pandas组内排序并在每个分组内按序打上序号的操作示例
  • 601
分享到

pandas组内排序并在每个分组内按序打上序号的操作示例

2023-06-14 08:06:08 601人浏览 独家记忆
摘要

这篇文章给大家分享的是有关pandas组内排序并在每个分组内按序打上序号的操作示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。问题:pandas组内排序,并在每个分组内按序打上序号描述:pandas dataf

这篇文章给大家分享的是有关pandas组内排序并在每个分组内按序打上序号的操作示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

问题:

pandas组内排序,并在每个分组内按序打上序号

描述:

pandas dataframe 对dep_id组内的salary排序。希望给下面原本只有前三列的dataframe,添加上第四列。

等价于sql里的排序函数 row_number() over() 功能

pandas组内排序并在每个分组内按序打上序号的操作示例

假设我已经建好了仅有前三列的dataframe,数据集命名为 MyData,

解决方案如下:

MyData['sort_id'] = MyData['salary'].groupby(MyData['dep_id']).rank()

结果如下:

pandas组内排序并在每个分组内按序打上序号的操作示例

补充:Pandas.DataFrame实现分组、排序并且为分组插入排名

1. 示例数据(各班级学生得分)

import pandas as pddata_dict = {"name":        ["Rose", "Jack", "Tom", "Kyle", "Jery", "Adam", "Bill", "David", "Denny", "Evan"],      "class": [1, 2, 3, 1, 2, 3, 1, 2, 3, 1],      "score": [88, 92, 38, 98, 22, 65, 45, 53, 97, 100]}df = pd.DataFrame(data=data_dict)df

pandas组内排序并在每个分组内按序打上序号的操作示例

2. 按班级分组

df = df.groupby('class', sort=False)\    .apply(lambda x:x.sort_values("score", ascending=False))\    .reset_index(drop=True)df

pandas组内排序并在每个分组内按序打上序号的操作示例

3. 给各分组班级增加排名列

df["rank"] = None# 标识班级flag = df.loc[0].values[1]rank = 0for i in range(len(df)):  temp = df.loc[i].values[1]  if (temp == flag).all():    # 同一班级    rank += 1  else:    # 不同班级,重新计算排名    flag = temp    rank = 1  df.loc[i, "rank"] = rankdf

pandas组内排序并在每个分组内按序打上序号的操作示例

感谢各位的阅读!关于“pandas组内排序并在每个分组内按序打上序号的操作示例”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: pandas组内排序并在每个分组内按序打上序号的操作示例

本文链接: https://www.lsjlt.com/news/269217.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • pandas组内排序并在每个分组内按序打上序号的操作示例
    这篇文章给大家分享的是有关pandas组内排序并在每个分组内按序打上序号的操作示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。问题:pandas组内排序,并在每个分组内按序打上序号描述:pandas dataf...
    99+
    2023-06-14
  • pandas组内排序,并在每个分组内按序打上序号的操作
    问题: pandas组内排序,并在每个分组内按序打上序号 描述: pandas dataframe 对dep_id组内的salary排序。希望给下面原本只有前三列的dataframe...
    99+
    2024-04-02
  • pandas groupby分组对象的组内排序解决方案
    问题: 根据数据某列进行分组,选择其中另一列大小top-K的的所在行数据 解析: 求解思路很清晰,即先用groupby对数据进行分组,然后再根据分组后的某一列进行排序,选择排序结果后...
    99+
    2024-04-02
  • pandas中groupby分组对象的组内排序解决方案有哪些
    这篇文章给大家分享的是有关pandas中groupby分组对象的组内排序解决方案有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。问题:根据数据某列进行分组,选择其中另一列大小top-K的的所在行数据解析:求解...
    99+
    2023-06-14
  • springboot中一个service内组件加载顺序的示例分析
    小编给大家分享一下springboot中一个service内组件加载顺序的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!springboot servic...
    99+
    2023-06-20
  • php数组排序并保持索引关系的示例分析
    这篇文章主要介绍了php数组排序并保持索引关系的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言(P...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作