Python Pandas 数据分组
在数据处理中,分箱、分组是一种常见的技术,用于将连续数据的间隔分组到“箱”或“桶”中。我们将讨论以下两种方法:
使用 Pandas 的
between
和loc
方法: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
##########
使用 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 数据分组的更多相关文章
- (数据科学学习手札06)Python在数据框操作上的总结(初级篇)
数据框(Dataframe)作为一种十分标准的数据结构,是数据分析中最常用的数据结构,在Python和R中各有对数据框的不同定义和操作. Python 本文涉及Python数据框,为了更好的视觉效果, ...
- python中pandas数据分析基础3(数据索引、数据分组与分组运算、数据离散化、数据合并)
//2019.07.19/20 python中pandas数据分析基础(数据重塑与轴向转化.数据分组与分组运算.离散化处理.多数据文件合并操作) 3.1 数据重塑与轴向转换1.层次化索引使得一个轴上拥 ...
- 小白学 Python 数据分析(11):Pandas (十)数据分组
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
- Python的工具包[1] -> pandas数据预处理 -> pandas 库及使用总结
pandas数据预处理 / pandas data pre-processing 目录 关于 pandas pandas 库 pandas 基本操作 pandas 计算 pandas 的 Series ...
- Python之数据聚合与分组运算
Python之数据聚合与分组运算 1. 关系型数据库方便对数据进行连接.过滤.转换和聚合. 2. Hadley Wickham创建了用于表示分组运算术语"split-apply-combin ...
- pandas学习(数据分组与分组运算、离散化处理、数据合并)
pandas学习(数据分组与分组运算.离散化处理.数据合并) 目录 数据分组与分组运算 离散化处理 数据合并 数据分组与分组运算 GroupBy技术:实现数据的分组,和分组运算,作用类似于数据透视表 ...
- Python pandas检查数据中是否有NaN的几种方法
Python pandas: check if any value is NaN in DataFrame # 查看每一列是否有NaN: df.isnull().any(axis=0) # 查看每一行 ...
- Python之pandas数据加载、存储
Python之pandas数据加载.存储 0. 输入与输出大致可分为三类: 0.1 读取文本文件和其他更好效的磁盘存储格式 2.2 使用数据库中的数据 0.3 利用Web API操作网络资源 1. 读 ...
- 基于tornado python pandas和bootstrap上传组件的mongodb数据添加工具
总体思路:基于bootstrap4的前端页面上传组件,把excel文件上传至服务器,并利用python pandas读取里面的数据形成字典列表 通过pymongo 接口把数据插入或追加到mongodb ...
- python pandas数据分析基础入门2——(数据格式转换、排序、统计、数据透视表)
//2019.07.18pyhton中pandas数据分析学习——第二部分2.1 数据格式转换1.查看与转换表格某一列的数据格式:(1)查看数据类型:某一列的数据格式:df["列属性名称&q ...
随机推荐
- mybatis复习(二)
简介 mybatis是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql语句本身, 而不需要花费精力去处理加载驱动.创建连接.创建 statement 等繁杂的 ...
- 【Kotlin】List、Set、Map简介
1 List Java 的 List.Set.Map 介绍见 → Java容器及其常用方法汇总. 1.1 创建 List 1.1.1 emptyList var list = emptyList& ...
- 基于OT与CRDT协同算法的文档划词评论能力实现
基于OT与CRDT协同算法的文档划词评论能力实现 当我们实现在线文档平台时,划词评论的功能是非常必要的,特别是在重文档管理流程的在线文档产品中,文档反馈是非常重要的一环,这样可以帮助文档维护者提高文档 ...
- Mogdb - 安装报错Failed to encrypt the password for databaseError
Mogdb - 安装报错 Failed to encrypt the password for databaseError 本文出处:https://www.modb.pro/db/418363 版本 ...
- Telnet qsnctfwp
Windows 安装 Telnet 在控制面板的程序和功能中选择打开或关闭Windows功能 启用 Telnet 客户端并单击确认退出 启动终端,输入命令 telnet 打开 Telnet 客户端 在 ...
- http协议重新整理——————历史[一]
前言 简单整理一些http协议. 正文 20 世纪 60 年代,美国国防部高等研究计划署(ARPA)建立了 ARPA 网,它有四个分布在各地的节点,被认为是如今互联网的"始祖". ...
- input 去除默认样式
前言 如何不自己写框架,基本用不上. 正文 input{ border: 0px; background-color: none; outline: none; } input:focus{ outl ...
- VulnHub-Jangow-01-1.0.1打靶记录
知识点 NMAP参数 -sV 获取系统信息 -sT TCP扫描可能会留下日志记录 -sC 使用默认脚本(在-A模式下不需要) -p1-xxx 扫描端口号 -p- ==>等价于 -p1-65535 ...
- 阿里云荣获可信云容器安全能力先进级认证, ACK/ACR为企业级安全护航
阿里云关注企业级用户的Kubernetes生产落地痛点,结合企业生产环境的大量实践,全面帮助企业真正落地云原生架构.安全侧问题,是众多大中型或金融领域企业的核心关注点. 端到端云原生安全架构 早在20 ...
- 国内唯一连续入选Gartner,Quick BI是如何做到的?
简介:阿里云Quick BI凭借灵活的公共云部署,私有化独立部署能力.无缝对接各类云上数据库和自建数据库.可视化搭建分析.高效数据处理能力与强大数据计算能力,使得在2022年持续入选Gartner ...