Pandas Groupby:在Python中汇总、聚合和分组数据

GroupBy是一个非常简单的概念。我们可以创建一个类别分组,并对这些类别应用一个函数。这是一个简单的概念,但它是一种在数据科学中广泛使用的非常有价值的技术。在真实的的数据科学项目中,您将处理大量数据并一遍又一遍地尝试,因此为了提高效率,我们使用Groupby概念。Groupby概念非常重要,因为它能够有效地汇总、聚合和分组数据。

汇总

汇总包括统计,描述数据帧中存在的所有数据。我们可以使用describe()方法总结数据框中的数据。此方法用于从数据帧中获取min、max、sum、count值沿着该特定列的数据类型。

  • describe():此方法详细说明数据类型及其属性。

dataframe_name.describe()

  • unique():此方法用于从给定列中获取所有唯一值。

dataframe[‘column_name].unique()

  • nunique():这个方法类似于unique,但它会返回唯一值的计数。

dataframe_name[‘column_name].nunique()

  • info():此命令用于获取数据类型和列信息
  • columns:此命令用于显示数据框中存在的所有列名

示例:


# importing pandas as pd for using data frame
import pandas as pd# creating dataframe with student details
dataframe = pd.DataFrame({'id': [7058, 4511, 7014, 7033],'name': ['sravan', 'manoj', 'aditya', 'bhanu'],'Maths_marks': [99, 97, 88, 90],'Chemistry_marks': [89, 99, 99, 90],'telugu_marks': [99, 97, 88, 80],'hindi_marks': [99, 97, 56, 67],'social_marks': [79, 97, 78, 90], })# display dataframe
dataframe

在这里插入图片描述

# describing the data frame
print(dataframe.describe())print("-----------------------------")
# finding unique values
print(dataframe['Maths_marks'].unique())print("-----------------------------")
# counting unique values
print(dataframe['Maths_marks'].nunique())print("-----------------------------")
# display the columns in the data frame
print(dataframe.columns)print("-----------------------------")
# information about dataframe
print(dataframe.info())

在这里插入图片描述

聚合

聚合用于获得数据帧中所有列或数据帧中特定列的均值、平均值、方差和标准差。

  • sum():返回数据帧的和

dataframe[‘column].sum()

  • mean():返回数据框中特定列的平均值
  • std():返回该列的标准差。
  • var():返回该列的方差
  • min():返回列中的最小值
  • max():返回列中的最大值

示例:


# importing pandas as pd for using data frame
import pandas as pd# creating dataframe with student details
dataframe = pd.DataFrame({'id': [7058, 4511, 7014, 7033],'name': ['sravan', 'manoj', 'aditya', 'bhanu'],'Maths_marks': [99, 97, 88, 90],'Chemistry_marks': [89, 99, 99, 90],'telugu_marks': [99, 97, 88, 80],'hindi_marks': [99, 97, 56, 67],'social_marks': [79, 97, 78, 90], })# display dataframe
dataframe

在这里插入图片描述


# getting all minimum values from
# all columns in a dataframe
print(dataframe.min())
print("-----------------------------------------")# minimum value from a particular
# column in a data frame
print(dataframe['Maths_marks'].min())
print("-----------------------------------------")# computing maximum values
print(dataframe.max())
print("-----------------------------------------")# computing sum
print(dataframe.sum())
print("-----------------------------------------")# finding count
print(dataframe.count())
print("-----------------------------------------")# computing standard deviation
print(dataframe.std())
print("-----------------------------------------")# computing variance
print(dataframe.var())

在这里插入图片描述

分组

它用于通过使用groupby()方法对数据帧中的一个或多个列进行分组。Groupby主要是指涉及以下步骤中的一个或多个的过程:

  • 拆分:这是一个通过对数据集应用某些条件将数据拆分成组的过程。
  • 应用:它是一个过程,在这个过程中,我们将一个函数独立地应用于每个组
  • 组合:这是一个在应用groupby后将不同数据集组合在一起并生成数据结构的过程
# importing pandas as pd for using data frame
import pandas as pd# creating dataframe with student details
dataframe = pd.DataFrame({'id': [7058, 4511, 7014, 7033],'name': ['sravan', 'manoj', 'aditya', 'bhanu'],'Maths_marks': [99, 97, 88, 90],'Chemistry_marks': [89, 99, 99, 90],'telugu_marks': [99, 97, 88, 80],'hindi_marks': [99, 97, 56, 67],'social_marks': [79, 97, 78, 90], })# group by name
print(dataframe.groupby('name').first())print("---------------------------------")
# group by name with social_marks sum
print(dataframe.groupby('name')['social_marks'].sum())
print("---------------------------------")# group by name with maths_marks count
print(dataframe.groupby('name')['Maths_marks'].count())
print("---------------------------------")# group by name with maths_marks
print(dataframe.groupby('name')['Maths_marks'])

在这里插入图片描述

import pandas as pd# creating dataframe with student details
dataframe = pd.DataFrame({'id': [7058, 4511, 7014, 7033],'name': ['sravan', 'manoj', 'aditya', 'bhanu'],'Maths_marks': [99, 97, 88, 90],'Chemistry_marks': [89, 99, 99, 90],'telugu_marks': [99, 97, 88, 80],'hindi_marks': [99, 97, 56, 67],'social_marks': [79, 97, 78, 90], })# group by name
print(dataframe.groupby('name').first())print("------------------------")
# group by name with social_marks sum
print(dataframe.groupby('name')['social_marks'].sum())
print("------------------------")
# group by name with maths_marks count
print(dataframe.groupby('name')['Maths_marks'].count())

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/4754.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HUAWEI Mate X3:内外屏双享,折叠影像诠释精彩

HUAWEI Mate X3是全球首款四曲折叠手机,轻薄实力派。它采用了独创的寰宇舷窗设计,内外双屏高清呈现均支持120Hz疾速高刷,10.7亿色彩显示,获得德国莱茵TV色准和准确色彩投射双认证。无论是看视频、玩游戏、办公学习,还是…

T5模型: Transfer Text-to-Text Transformer(谷歌)

🔥 T5由谷歌发表于2019,《Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer》,最终版本发布在:JMLR。 一句话总结T5: 大一统模型,seq2seq形式完成各类nlp任务,大数据集…

JAVA15个常见面试题

下面是一些常见的Java面试题及答案: Java中的值传递和引用传递有什么区别? Java中的参数传递方式都是值传递,但是对于引用类型的参数,传递的是对象的引用副本。 什么是Java中的面向对象编程? 面向对象编程是一种编程范…

推荐系统-基于标签的Top-N个性化推荐实现

随着移动互联网的快速发展,UGC标签系统受到越来越多推荐应用,标签不但能反映用户的兴趣又能描述物品的本身特征。现有的标签推荐算法没有考虑用户的连续行为所产生的影响,于是人们提出了一种基于标签的个性化推荐算法。该算法将〈用户-标签-物…

谷歌云构建漏洞容易引发潜在的供应链攻击

云安全公司Orca Security在谷歌云构建(Google Cloud Build)服务中发现了一个关键的设计漏洞,该漏洞会让攻击者的权限升级,使他们可以在未经授权的情况下访问谷歌构件注册表(Google Artifact Registry)代码库…

VoIP监控工具有什么作用

VoIP 监控工具利用思科的 IPSLA 技术生成合成流量并监控客户端体验的呼叫质量。与被动监控VoIP指标相反,IPSLA技术允许IT管理员主动并在潜在问题发生之前检测到它们,这使组织能够轻松遵守严格的SLA指标。 思科 IPSLA 技术在两台设备之间创建流量&#x…

这样创建客户帮助中心,效果超好!

创建一个有效的客户帮助中心是为了为客户提供优质的支持和服务。在这个数字化时代,客户期望能够快速找到所需的信息,并得到准确和及时的解答。本文将分享创建有效客户帮助中心的最佳实践,帮助您提供出色的客户体验并提升客户满意度。 1. 了解…

Python 字典 get()函数使用详解,字典获取值

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 get函数使用详解 1、设置默认返回值2、嵌套字典取值3、get() 和 dict[key] 的区别…

linux centos7 静默安装 oracle 11g,【亲测有效】,包含远程连接、提供安装包

Centos7 安装oracle11g 环境准备 操作系统 centos7 oracle版本 oracle11g 终端软件 MobaXterm 192.168.46.61 oracleMaster 安装包 网盘地址 一、安装前准备 1、关闭selinux [rootoracleMaster ~]# vim /etc/selinux/config修改 SELINUX 为 disabled # This file controls …

java导出pdf(纯代码实现)

java导出pdf 在项目开发中,产品的需求越来越奇葩啦,开始文件下载都是下载为excel的,做着做着需求竟然变了,要求能导出pdf。导出pdf倒也不是特别大的问题关键就是麻烦。 导出pdf我知道的一共有3中方法: 方法一&#xff…

STM32定时器中断的使用示例

STM32定时器中断的使用示例 前言硬件和软件cubemx使能定时器中断中断服务函数案例输出结果 前言 上一篇博客实现了定时器输出pwm,这篇接着上次的工程,在上次的工程上做简单的配置即可 硬件和软件 硬件使用的是stm32h750vbt6;软件用到了stm…

nginx+lua+redis环境搭建(文末赋上脚本)

目录 需求背景 环境搭建后nginx和redis版本 系统环境 搭建步骤 配置服务器DNS 安装ntpdate同步一下系统时间 安装网络工具、编译工具及依赖库 创建软件包下载目录、nginx和redis安装目录 下载配置安装lua解释器LuaJIT 下载nginx NDK(ngx_devel_kit&#xff09…

ceph安装部署

Ceph 简介 存储基础 单机存储设备 单机存储的问题 分布式存储的类型 分布式存储(软件定义的存储 SDS) Ceph 架构 Ceph 核心组件 ​编辑 Pool中数据保存方式支持两种类型 OSD 存储后端 Ceph 数据的存储过程 Ceph 集群部署 基于 ceph-deploy …

网络运维能转型到系统运维吗?

很多网工处于刚起步的初级阶段,各大公司有此专职,但重视或重要程度不高,可替代性强;小公司更多是由其它岗位来兼顾做这一块工作,没有专职,也不可能做得深入。 现在开始学习入门会有一些困难,不…

Hyperledger Fabric测试网络运行官方Java链码[简约版]

文章目录 启动测试网络使用peer CLI测试链码调用链码 启动测试网络 cd fabric-samples/test-networknetwork.sh的脚本语法是&#xff1a;network.sh <mode> [flag] ./network.sh up./network.sh createChannel在java源码路径下 chmod 744 gradlew vim gradlew :set ffu…

银河麒麟高级服务器操作系统V10安装mysql数据库

一、安装前 1.检查是否已经安装mysql rpm -qa | grep mysql2.将查询出的包卸载掉 rpm -e --nodeps 文件名3.将/usr/lib64/libLLVM-7.so删除 rm -rf /usr/lib64/libLLVM-7.so4.检查删除结果 rpm -qa | grep mysql5.搜索残余文件 whereis mysql6.删除残余文件 rm -rf /usr/b…

MYSQL表操作(DML,DDL)

建表并插入数据&#xff1a; mysql> create table worker(-> dept_id int(11) not null,-> emp_id int (11) not null,-> work_time date not null,-> salary float(8,2) not null,-> poli_face varchar(10) not null default 群众,-> name varchar(20) …

一种对不同类型齐格勒-尼科尔斯 P-I-D 控制器调谐算法研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

MySQL数据库 【增删改查】

目录 一、新增 指定列插入 一次插入多个数据 二、查询 1、全列查询 2、指定列查询 3、查询字段为表达式 4、查询的时候给列名/表达式 指定别名 5、查询时去重 6、排序查询 7、条件查询 8、模糊查询 9、空值查询 10、分页查询 三、修改 四、删除 SQL 最核心…

JS-26 认识防抖和节流函数;自定义防抖、节流函数;自定义深拷贝、事件总线函数

目录 1_防抖和节流1.1_认识防抖和节流函数1.2_认识防抖debounce函数1.3_防抖函数的案例1.4_认识节流throttle函数 2_Underscore实现防抖和节流2.1_Underscore实现防抖和节流2.2_自定义防抖函数2.3_自定义节流函数 3_自定义深拷贝函数4_自定义事件总线 1_防抖和节流 1.1_认识防…