在数据处理中,分箱、分组是一种常见的技术,用于将连续数据的间隔分组到“箱”或“桶”中。我们将讨论以下两种方法:

  1. 使用 Pandas 的 betweenloc 方法:

    • between 方法返回一个布尔向量,指示 Series 元素是否位于给定的边界值之间。

    • loc 方法用于根据条件选择数据。

    • 示例:将学生的分数分为等级 A、B 和 C。

    • 代码示例:

      import pandas as pd
      import numpy as np # 创建随机成绩score数据
      df = pd.DataFrame({'score': np.random.randint(0, 101, 1000)}) print(df)
      ##########
      score
      0 56
      1 94
      2 89
      3 58
      4 29
      5 37
      6 63
      7 64
      8 82
      9 76
      ########## # 0~50分 成绩等级grade为C
      df.loc[df['score'].between(0, 50, inclusive='both'), 'grade'] = 'C'
      # 50~80分 成绩等级grade为B
      df.loc[df['score'].between(50, 80, inclusive='right'), 'grade'] = 'B'
      # 80~100分 成绩等级grade为A
      df.loc[df['score'].between(80, 100, inclusive='right'), 'grade'] = 'A' print(df)
      ##########
      score grade
      0 56 B
      1 94 A
      2 89 A
      3 58 B
      4 29 C
      5 37 C
      6 63 B
      7 64 B
      8 82 A
      9 76 B
      ##########
    • 查看每个等级的人数:df['grade'].value_counts()

      print(df['grade'].value_counts())
      ##########
      grade
      B 5
      A 3
      C 2
      ##########
  2. 使用 Pandas 的 cut 方法:

    • cut 方法将值分类为离散的间隔。

    • 示例:将分数分为等级 C、B 和 A。

    • 代码示例:

      bins = [0, 50, 80, 100]
      labels = ['C', 'B', 'A']
      # 分仓
      df['grade'] = pd.cut(x=df['score'], bins=bins, labels=labels, include_lowest=True) print(df)
      ##########
      score grade
      0 56 B
      1 94 A
      2 89 A
      3 58 B
      4 29 C
      5 37 C
      6 63 B
      7 64 B
      8 82 A
      9 76 B
      ##########
    • 查看每个等级的人数:df['grade'].value_counts()

      print(df['grade'].value_counts())
      ##########
      grade
      B 5
      A 3
      C 2
      ##########

Python Pandas 数据分组的更多相关文章

  1. (数据科学学习手札06)Python在数据框操作上的总结(初级篇)

    数据框(Dataframe)作为一种十分标准的数据结构,是数据分析中最常用的数据结构,在Python和R中各有对数据框的不同定义和操作. Python 本文涉及Python数据框,为了更好的视觉效果, ...

  2. python中pandas数据分析基础3(数据索引、数据分组与分组运算、数据离散化、数据合并)

    //2019.07.19/20 python中pandas数据分析基础(数据重塑与轴向转化.数据分组与分组运算.离散化处理.多数据文件合并操作) 3.1 数据重塑与轴向转换1.层次化索引使得一个轴上拥 ...

  3. 小白学 Python 数据分析(11):Pandas (十)数据分组

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

  4. Python的工具包[1] -> pandas数据预处理 -> pandas 库及使用总结

    pandas数据预处理 / pandas data pre-processing 目录 关于 pandas pandas 库 pandas 基本操作 pandas 计算 pandas 的 Series ...

  5. Python之数据聚合与分组运算

    Python之数据聚合与分组运算 1. 关系型数据库方便对数据进行连接.过滤.转换和聚合. 2. Hadley Wickham创建了用于表示分组运算术语"split-apply-combin ...

  6. pandas学习(数据分组与分组运算、离散化处理、数据合并)

    pandas学习(数据分组与分组运算.离散化处理.数据合并) 目录 数据分组与分组运算 离散化处理 数据合并 数据分组与分组运算 GroupBy技术:实现数据的分组,和分组运算,作用类似于数据透视表 ...

  7. Python pandas检查数据中是否有NaN的几种方法

    Python pandas: check if any value is NaN in DataFrame # 查看每一列是否有NaN: df.isnull().any(axis=0) # 查看每一行 ...

  8. Python之pandas数据加载、存储

    Python之pandas数据加载.存储 0. 输入与输出大致可分为三类: 0.1 读取文本文件和其他更好效的磁盘存储格式 2.2 使用数据库中的数据 0.3 利用Web API操作网络资源 1. 读 ...

  9. 基于tornado python pandas和bootstrap上传组件的mongodb数据添加工具

    总体思路:基于bootstrap4的前端页面上传组件,把excel文件上传至服务器,并利用python pandas读取里面的数据形成字典列表 通过pymongo 接口把数据插入或追加到mongodb ...

  10. python pandas数据分析基础入门2——(数据格式转换、排序、统计、数据透视表)

    //2019.07.18pyhton中pandas数据分析学习——第二部分2.1 数据格式转换1.查看与转换表格某一列的数据格式:(1)查看数据类型:某一列的数据格式:df["列属性名称&q ...

随机推荐

  1. Windows 杀毒简单有效的方式

    Windows 电脑杀毒通常会选择杀毒软件,这样太笨重,且容易占内存和存在流氓软件侵入. 推荐使用 Windows 自带的恶意软件删除工具 按住 Win + R 键,弹出运行窗口,输入 mrt. 系统 ...

  2. 兼容模式下导致数值类型发生隐式转换,SQL在生产上无法正常使用案例

    兼容模式下导致数值类型发生隐式转换,SQL 在生产上无法正常使用案例 本文出处:https://www.modb.pro/db/403148 基于 MogDB 版本 V2.0.1 问题现象 厂商研发描 ...

  3. Hypium框架使能ArkTS应用高效测试

     原文链接:https://mp.weixin.qq.com/s/Ncc-x_4zy4wBZmSjknw1lQ,点击链接查看更多技术内容:   HarmonyOS发布了声明式开发框架ArkUI,带来了 ...

  4. nginx重新整理——————分析log数据[六]

    前言 简单介绍一下goaccess. 正文 安装: yum install epel-release yum install GeoIP GeoIP-devel GeoIP-data yum inst ...

  5. sql 语句系列(众数中位数与百分比)[八百章之第十五章]

    众数 众数就是出现最多的那个数. select sal,count(*) as cnt from emp where DEPTNO=20 group by sal 通过分组把他们的行数计算出来.那么最 ...

  6. sass 基本常识

    一.什么是SASS SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护. 本文总结了SASS的主要用法.我的目标是,有了这篇文章,日常的一 ...

  7. CF-938(C-E)

    CF-938 C 没啥好分析的,就记录一下我因为没有清空s[n+1].上取整写成了下取整卡了一个多小时(╬▔皿▔)╯ const int N=2e5+5; int a[N],p[N],s[N]; vo ...

  8. 2024年GPLT团体程序设计比赛L2-D吉利矩阵题解

    只能说比赛时前期做得太慢了,后面导致题目只能捞点分数(IOI赛制),当时这道题是我不剪枝DFS拿了4分,压线拿铜牌! 考完试一做,发现是个大水题(bushi) 主要原理:DFS(深度优先搜索) + 剪 ...

  9. 如何在golang代码里面解析容器镜像

    ​简介:容器镜像在我们日常的开发工作中占据着极其重要的位置.通常情况下我们是将应用程序打包到容器镜像并上传到镜像仓库中,在生产环境将其拉取下来.然后用 docker/containerd 等容器运行时 ...

  10. [GPT] Vue 的 methods 中使用了 addEventListener,如何在 addEventListener 的匿名函数参数中访问 Vue data 变量

      在 Vue 的 methods 方法中使用 addEventListener时,你可以使用 箭头函数 来访问 Vue 实例的数据. 箭头函数不会创建自己的作用域,而是继承父级作用域的上下文.以下是 ...