数据统计与数据分组18-25题(30 天 Pandas 挑战)
数据统计与数据分组
- 1. 知识点
- 1.18 分箱与统计个数
- 1.19 分组与求和统计
- 1.20 分组获取最小值
- 1.21 分组获取值个数
- 1.22 分组与条件查询
- 1.23 分组与条件查询及获取最大值
- 1.24 分组及自定义函数
- 1.25 分组+lambda函数统计
- 2. 题目
- 2.18 按分类统计薪水(数据统计)
- 2.19 查找每个员工花费的总时间(数据分组)
- 2.20 游戏玩法分析 I(数据分组)
- 2.21 每位教师所教授的科目种类的数量(数据分组)
- 2.22 超过5名学生的课(数据分组)
- 2.23 订单最多的客户(数据分组)
- 2.24 按日期分组销售产品(数据分组)
- 2.25 每天的领导和合伙人(数据分组)
1. 知识点
1.18 分箱与统计个数
- 分箱操作
# float('inf')正无穷 bins=[0,20000,50001,float('inf')] labels=['Low Salary', 'Average Salary', 'High Salary'] accounts['category']=pd.cut(accounts['income'],bins=bins,labels=labels,right=False) - 数值统计
accounts_new=accounts['category'].value_counts().reset_index()
1.19 分组与求和统计
- 分组统计
employees=employees.groupby(['event_day','emp_id']).agg({'total_time':'sum'}).reset_index() - 多种数值统计
employees=employees.groupby(['event_day','emp_id']).agg( total_add=('total_time','sum'), total_mean=('total_time','mean') ).reset_index()
1.20 分组获取最小值
- 分组获取最小值
activity=activity.groupby('player_id').agg(first_login=('event_date','min')).reset_index()
1.21 分组获取值个数
- 分组获取最小值
teacher=teacher.groupby('teacher_id').agg(cnt=('subject_id','count')).reset_index()
1.22 分组与条件查询
courses=courses.groupby('class').agg(counts=('student','count')).reset_index() # 分组
courses=courses.query('`counts`>5')[['class']] # 条件查询
1.23 分组与条件查询及获取最大值
- 分组统计
orders=orders.groupby('customer_number').agg(counts=('order_number','count')).reset_index() - 最大值
max_orders=orders['counts'].max() - 条件查询
results=orders.query(f'`counts`=={max_orders}')[['customer_number']]
1.24 分组及自定义函数
def get_join(x):x_list=sorted(list(set(x)))return ','.join(x_list)def get_count(x):x_list=set(x)return len(x_list)activities=activities.groupby(['sell_date']).agg(num_sold=('product',get_count),products=('product',get_join)).reset_index()
1.25 分组+lambda函数统计
daily_sales=daily_sales.groupby(['date_id','make_name']).agg(unique_leads=('lead_id',lambda x:len(set(x))),unique_partners=('partner_id',lambda x:len(set(x)))).reset_index()
2. 题目
2.18 按分类统计薪水(数据统计)


import pandas as pddef count_salary_categories(accounts: pd.DataFrame) -> pd.DataFrame:# float('inf')bins=[0,20000,50001,float('inf')]labels=['Low Salary', 'Average Salary', 'High Salary']accounts['category']=pd.cut(accounts['income'],bins=bins,labels=labels,right=False)accounts_new=accounts['category'].value_counts().reset_index()accounts_new=accounts_new.rename(columns={'count':'accounts_count'})accounts_new=accounts_new.sort_values('category',ascending=False)return accounts_new
2.19 查找每个员工花费的总时间(数据分组)



import pandas as pddef total_time(employees: pd.DataFrame) -> pd.DataFrame:# pandas流employees=employees.assign(total_time = employees.out_time-employees.in_time).groupby(['event_day','emp_id']).agg({'total_time':'sum'}).reset_index().rename(columns = {'event_day':'day'})# employees['total_time']=employees['out_time']-employees['in_time']# employees=employees.groupby(['event_day','emp_id'])['total_time'].sum().reset_index()# employees=employees.rename(columns={'event_day':'day'})# employees.sort_values('emp_id',inplace=True)return employees
2.20 游戏玩法分析 I(数据分组)


import pandas as pddef game_analysis(activity: pd.DataFrame) -> pd.DataFrame:activity=activity.groupby('player_id').agg(first_login=('event_date','min')).reset_index()return activity
2.21 每位教师所教授的科目种类的数量(数据分组)



import pandas as pddef count_unique_subjects(teacher: pd.DataFrame) -> pd.DataFrame:teacher.drop_duplicates(['teacher_id','subject_id'],inplace=True)teacher=teacher.groupby('teacher_id').agg(cnt=('subject_id','count')).reset_index()return teacher
2.22 超过5名学生的课(数据分组)



import pandas as pddef find_classes(courses: pd.DataFrame) -> pd.DataFrame:courses=courses.groupby('class').agg(counts=('student','count')).reset_index()return courses.query('`counts`>5')[['class']]
2.23 订单最多的客户(数据分组)


import pandas as pddef largest_orders(orders: pd.DataFrame) -> pd.DataFrame:orders=orders.groupby('customer_number').agg(counts=('order_number','count')).reset_index()max_orders=orders['counts'].max()results=orders.query(f'`counts`=={max_orders}')[['customer_number']]return results
2.24 按日期分组销售产品(数据分组)



import pandas as pddef categorize_products(activities: pd.DataFrame) -> pd.DataFrame:activities=activities.groupby(['sell_date']).agg(num_sold=('product',lambda x:len(set(x))),products=('product',lambda x:','.join(sorted(list(set(x)))))).reset_index()return activities
2.25 每天的领导和合伙人(数据分组)



import pandas as pddef daily_leads_and_partners(daily_sales: pd.DataFrame) -> pd.DataFrame:daily_sales=daily_sales.groupby(['date_id','make_name']).agg(unique_leads=('lead_id',lambda x:len(set(x))),unique_partners=('partner_id',lambda x:len(set(x)))).reset_index()return daily_sales
相关文章:
数据统计与数据分组18-25题(30 天 Pandas 挑战)
数据统计与数据分组 1. 知识点1.18 分箱与统计个数1.19 分组与求和统计1.20 分组获取最小值1.21 分组获取值个数1.22 分组与条件查询1.23 分组与条件查询及获取最大值1.24 分组及自定义函数1.25 分组lambda函数统计 2. 题目2.18 按分类统计薪水(数据统计)…...
Apache Seata应用侧启动过程剖析——注册中心与配置中心模块
本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 Apache Seata应用侧启动过程剖析——注册中心与配置中心模块 前言 在Seata的应用侧…...
大话光学原理:1.“实体泛光说”、反射与折射
一、实体泛光说 在古希腊,那些喜好沉思的智者们中,曾流传着一个奇妙的设想:他们认为,我们的眼睛仿佛伸出无数触手般的光线,这些光线能向四面八方延伸,紧紧抓住周围的每一个物体。于是,当我们凝视…...
住宅代理、移动代理和数据中心代理之间的区别
如果您是一名认真的互联网用户,可能需要反复访问某个网站或服务器,可能是为了数据抓取、价格比较、SEO 监控等用例,而不会被 IP 列入黑名单或被 CAPTCHA 阻止。 代理的工作原理是将所有传出数据发送到代理服务器,然后代理服务器将…...
光学传感器图像处理流程(一)
光学传感器图像处理流程(一) 1. 处理流程总览2. 详细处理流程2.1. 图像预处理2.1.1. 降噪处理2.1.2. 薄云处理2.1.3. 阴影处理 2.2. 辐射校正2.2.1. 辐射定标2.2.2. 大气校正2.2.3. 地形校正 2.3. 几何校正2.3.1. 图像配准2.3.2. 几何粗校正2.3.3. 几何精…...
el-table 树状表格查询符合条件的数据
需要对el-table的树状表格根据输入机构名称,筛选出符合条件的数据,可用如下方法: 页面内容如下: <el-input v-model"ogeName" placeholder"请输入机构名称"><el-table :data"list" row…...
MQTT教程--服务器使用EMQX和客户端使用MQTTX
什么是MQTT MQTT(Message Queuing Telemetry Transport)是一种轻量级、基于发布-订阅模式的消息传输协议,适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它在物联网应用中广受欢迎,能够实现传感器、执行器和其它设备…...
326. 3 的幂
哈喽!大家好,我是奇哥,一位专门给面试官添堵的职业面试员 文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】更有我为大家准备的福利哟! 文章目录 一、题目二、答案三、总结 一、题目 …...
多标签问题
一、多标签问题与单标签问题的区别: 多标签问题是单标签问题的推广。 举个例子,同时识别图片中的小汽车,公交车,行人时,标签值有三个:小汽车,公交车,行人。 单标签问题仅对一个标签…...
suricata7 rule加载(三)加载options
suricata7.0.5 加载options (msg:“HTTP Request Example”; flow:established,to_server; http.method; content:“POST”; http.uri; content:“query.php”; bsize:>9; http.protocol; content:“HTTP/1.1”; bsize:8; http.host; content:“360”; bsize:>3; class…...
【电路笔记】-C类放大器
C类放大器 文章目录 C类放大器1、概述2、C类放大介绍3、C类放大器的功能4、C 类放大器的效率5、C类放大器的应用:倍频器6、总结1、概述 尽管存在差异,但我们在之前有关 A 类、B 类和 AB 类放大器的文章中已经看到,这三类放大器是线性或部分线性的,因为它们在放大过程中再现…...
c++语法之函数重载
引例 我们在C语言里面写add函数的时候,只能支持一种类型的相加,除非我们创建多个add函数: 但是这样写并不方便,于是就有了c的函数重载。 函数重载 函数重载就是可以将多个参数类型、顺序、数量不同,实现逻辑相同的函…...
EtherCAT主站IGH-- 11 -- IGH之fmmu_config.h/c文件解析
EtherCAT主站IGH-- 11 -- IGH之fmmu_config.h/c文件解析 0 预览一 该文件功能`fmmu_config.c` 文件功能函数预览二 函数功能介绍1. `ec_fmmu_config_init`2. `ec_fmmu_set_domain_offset_size`3. `ec_fmmu_config_page`示例用法示例详细说明三 h文件翻译四 c文件翻译该文档修改…...
如何使用IDEA快速清理无效代码(荣耀典藏版)
大家好,我是月夜枫。 今天分享一下IDEA中很有实用价值的Analyze,那么Analyze是用来做什么的呢? 主要用来清理没有引用的代码,包括方法、实体类以及没有使用的Mapper和Service等。 为了是项目更加整洁,可以使用Idea中…...
ELK优化之Filebeat部署
目录 1.安装配置Nginx 2.安装 Filebeat 3.设置 filebeat 的主配置文件 4.修改Logstash配置 5.启动配置 6.kibana验证 主机名ip地址主要软件es01192.168.9.114ElasticSearches02192.168.9.115ElasticSearches03192.168.9.116ElasticSearch、Kibananginx01192.168.9.113ng…...
蝙蝠优化算法(Bat Algorithm,BA)及其Python和MATLAB实现
蝙蝠优化算法(Bat Algorithm,简称BA)是一种基于蝙蝠群体行为的启发式优化算法,由Xin-She Yang于2010年提出。该算法模拟了蝙蝠捕食时在探测目标、适应环境和调整自身位置等过程中的行为,通过改进搜索过程来实现优化问题…...
vscode运行java中文乱码,引发的mac配置问题
文章目录 问题 vscode 安装 java环境之后 public class Main{ public static void main(String[] args) { System.out.println(“哈哈”); } } ➜ .leetcode cd “/Users/leesin/.leetcode/.vscode/” && javac -encoding utf-8 Main.java && java Main &am…...
MySQL之备份与恢复(五)
备份与恢复 备份数据 符号分隔文件备份 可以使用SQL命令SELECT INTO OUTFILE以符号分隔文件格式创建数据的逻辑备份。(可以用mysqldump的 --tab选项导出到符号分隔文件中)。符号分隔文件包含以ASCII展示的原始数据,没有SQL、注释和列名。下面是一个导出为逗号分隔…...
离线运行Llama3:本地部署终极指南_liama2 本地部署
4月18日,Meta在官方博客官宣了Llama3,标志着人工智能领域迈向了一个重要的飞跃。经过笔者的个人体验,Llama3 8B效果已经超越GPT-3.5,最为重要的是,Llama3是开源的,我们可以自己部署! 本文和大家…...
【YOLO8系列】(二)YOLOv8环境配置,手把手嘴对嘴保姆教学
目录 一. 准备环境 1.Anaconda下载 2.创建yolov8虚拟环境 3.pytorch安装 4.CUDA下载 5.CUDNN下载 二、yolov8模型下载 1.clone模型 2.pycharm配置 ①解释器配置 ②终端配置 3.安装必要库 4.下载训练模型 三、 环境验证 四、总结 YOLOv8 是 YOLO 系列最新的目标…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
