代码编织梦想

导入 pandas

import pandas as pd

创建测试数据

df = pd.DataFrame([[2021, 'A', 95],[2021, 'A', 92], [2021, 'A', 50], [2021, 'B', 100], [2021, 'B', 50], [2021, 'B', 30], [2021, 'B', 60]], columns=['year', 'grade', 'value'])
>>> df
   year grade  value
0  2021     A     95
1  2021     A     92
2  2021     A     50
3  2021     B    100
4  2021     B     50
5  2021     B     30
6  2021     B     60

分组后,使用 rank

df['group_pct'] = df.groupby(['year', 'grade']).rank(ascending=True, pct=True) 

注意:如果除去分组的字段后,还有多列,需要指定列名

df['group_pct'] = df.groupby(['year', 'grade'])['col_name'].rank(ascending=True, pct=True) 
>>> df 
   year grade  value  group_pct
0  2021     A     95   1.000000
1  2021     A     92   0.666667
2  2021     A     50   0.333333
3  2021     B    100   1.000000
4  2021     B     50   0.500000
5  2021     B     30   0.250000
6  2021     B     60   0.750000

分组内 百分位 最接近 0.25 的行

df['group_pct_25'] = (df['group_pct']-0.25).abs()
>>> df                                                                      
   year grade  value  group_pct  group_pct_25
0  2021     A     95   1.000000      0.750000
1  2021     A     92   0.666667      0.416667
2  2021     A     50   0.333333      0.083333
3  2021     B    100   1.000000      0.750000
4  2021     B     50   0.500000      0.250000
5  2021     B     30   0.250000      0.000000
6  2021     B     60   0.750000      0.500000
t = df.sort_values(['group_pct_25']).groupby(['year', 'grade']).first().reset_index()
>>> t
   year grade  value  group_pct  group_pct_25
0  2021     A     50   0.333333      0.083333
1  2021     B     30   0.250000      0.000000
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_21201267/article/details/128634954

pandas方法大全-爱代码爱编程

数据帧 构造函数转换索引,迭代二元运算功能函数应用程序,GroupBy和窗口计算/描述统计重新索引/选择/标签操作丢失的数据处理重塑,排序,转置结合/加盟/合并与时间序列有关的稀疏访问器序列化/ IO /转换

pandas 机器学习_机器学习的PANDAS-爱代码爱编程

pandas 机器学习 Pandas is one of the tools in Machine Learning which is used for data cleaning and analysis. It has features which are used for exploring, cleaning, tra

Python数据分析常用的函数,比如:groupby、merge...等-爱代码爱编程

记录一些数据分析用到的函数 1.groupby df.groupby([df[属性],df[属性])(指分类的属性,数据的限定定语,可以有多个).mean()(对于数据的计算方式——函数名称) trn_click['rank'] = trn_click.groupby(['user_id'])['click_timestamp'].rank(asce

python 数据分箱_使用python 计算百分位数实现数据分箱代码-爱代码爱编程

对于百分位数,相信大家都比较熟悉,以下解释源引自百度百科。 百分位数,如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。可表示为:一组n个观测值按数值大小排列。如,处于p%位置的值称第p百分位数。 因为百分位数是采用等分的方式划分数据,因此也可用此方法进行等频分箱。 import pandas as

pandas学习(四)——分组-爱代码爱编程

文章目录 4.1、分组模式及其对象4.1.1、分组的一般模式4.1.2、分组依据的本质4.1.3、*groupby*对象4.1.4、分组的三大操作4.2、聚合函数4.2.1、内置聚合函数4.2.2、*agg*方法4.3 、变换和过滤4.3.1、变换函数与*transform*方法4.3.2、组索引与过滤4.4、跨列分组4.4.1、apply操作的引

pandas学习笔记(五):数据特征分析与pandas优化-爱代码爱编程

注:学习笔记基于文彤老师的pandas的系列课程 课程链接:https://study.163.com/course/courseMain.htm?courseId=1005124008&share=1&shareId=1146477588 # 设定系统环境 import pandas as pd pd.options.display.

Pandas 简明教程(二):读取文件、DataFrame常用属性/方法/条件过滤/聚合/分组-爱代码爱编程

一、读取文件 Pandas的主业是数据分析。因此,从外部文件读/写数据是Pandas的重要功能。Pandas提供了多种API函数用于支持多种类型数据(如CSV、Excel、SQL等)的读写,其中常用的函数如下表所示。 文件类型读取函数写入函数xls/xlsxread_excelto_excelCSVread_csvto_csvSQLread_sqlto

2w+字长文,一篇文章扫盲Python、NumPy 和 Pandas,建议收藏!-爱代码爱编程

作为简单易学的编程语言,想要入门还是比较容易的,今天我们来一篇超级长文,一次性扫盲Python、NumPy 和 Pandas,文末提供Python 技术交流群,欢迎加入,喜欢本文,点赞、收藏。 搭建语言环境 我们首先来了解下如何安装和搭建 Python 语言环境 Python 版本的选择 当前流行的 Python 版本有两个,2.X 和 3.X,由

5.机器学习-pandas进阶-爱代码爱编程

pandas画图 # dataFrame画图 plot """ kind: line 折线图 默认 bar 柱状图 barh 横着的柱状图 [barh更多](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.barh.h

数据分析--pandas常用操作-爱代码爱编程

Pandas 是核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,本文主要总结数据分析中pandas的常用方法         python 版本:python3.7 pandas版本:'2.7.0' 1.引入模块 import

三十个 Python 函数,解决百分之99的数据处理任务-爱代码爱编程

我们知道 Pandas 是 Python 中最广泛使用的数据分析和操作库。它提供了许多功能和方法,可以快速解决数据分析中数据处理问题。 为了更好的掌握 Python 函数的使用方法,我以客户流失数据集为例,分享30个在数据分析过程中最常使用的函数和方法,数据文末可以下载。 数据如下所示: import numpy as np import p

pandas 方法大全_m_qsqsqsq的博客-爱代码爱编程

目录: 构造函数 属性 转换 索引,迭代  二元运算功能  函数应用程序,GroupBy和窗口  计算/描述统计  重新索引/选择/标签操作  丢失的数据处理  重塑,排序,转置  结合/加盟/合并  与时间序列有关的 稀疏访问器  序列化/ IO /转换 构造函数 DataFrame([数据,索引,列,dtype,

【笔记】2022.06.20 python数据分析三大神器numpy、pandas、matplotlib_sprite.nym的博客-爱代码爱编程

0. 引入案例 RIGHT Example: names = ['孙悟空', '李元芳', '白起', '狄仁杰', '达摩'] courses = ['语文', '数学', '英语'] import random scores = [[random.randrange(60, 101) for _ in range(3)] for _ in ra

最近手头有点紧,于是用python来冲一波股票...-爱代码爱编程

文章目录 前言准备工作获取数据部分爬虫的基本流程代码展示 数据可视化分析最后 前言 快过年了,手头有点紧,但是作为一个男人,身上怎么能够没有大把钞票呢? 于是我决定用Python来分析一波股票,赢

python数学建模问题总结(3)数据可视化cookbook指南·下-爱代码爱编程

概括总结: 五、样式:优化图表、数据可视 1.形状:形状的精确程度; 2.颜色:区分类别、表示数量、突出特定数据、表示含义; 3.线:点划线或不同的不透明度; 4.文字排版:应用于图表标题、数据标签、轴标签、图例等不同的元素; 5.图标:可用于分类数据、UI控件和操作、状态; 6.坐标轴:柱状图即条形图应该从0的基线开始; 7.图标和注

自学记录:阿里云天池推荐系统实践 -爱代码爱编程

赛题理解 基于用户对新闻的操作信息,进行数据分析提取有价值的信息,处理后的数据对构建推荐系统模型也有帮助。同时在数据分析的过程中对用户感兴趣的部分进行挖掘提取,加强用户体验。熟悉数据集里包括的所有数据,对数据中每个字段进行

科学计算库 —— pandas之dataframe_dataframe库-爱代码爱编程

Pandas之DataFrame 1 DataFrame介绍2 创建DataFrame3 常用属性4 访问数据5 处理重复数据6 删除数据7 添加数据8 修改数据9 缺失值处理10 分组11 聚合12 排序13