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.hqwc.cn/news/29154.html

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

相关文章

旅游卡小程序软件招商加盟代理

旅游卡小程序软件招商加盟代理 我国人民生活水平的提高,旅游业成为了人们生活中必不可少的一部分。旅游卡小程序软件作为旅游行业的重要组成部分,也日益受到人们的关注。如今,旅游卡小程序软件招商加盟代理已经成为了一个热门的投资创业项…

⛳ Java数组

Java数组的目录 ⛳ Java数组🎨 一,一维数组👣 1.1,概念📢 1.2,基本用法1,语法格式2,代码 💻 1.3,内存结构📝 1.4,练习 🎁 …

芯片验证板卡设计方案:基于VU440T的多核处理器多输入芯片验证板卡

基于VU440T的多核处理器多输入芯片验证板卡 一、板卡概述 基于XCVU440-FLGA2892的多核处理器多输入芯片验证板卡为实现网络交换芯片的验证,包括四个FMC接口、DDR、GPIO等,板卡用于完成甲方的芯片验证任务,多任务功能验证。 …

GO语言Metex

Mutex互斥锁 type Mutex struct{state int32 // 0表示未加锁 1表示加锁,原子操作sema uint32 // 信号量,用作等待队列 } Mutex正常模式: 尝试加锁的G会先自旋几次,若获不到锁,则加入等待队列. 正常模式下,自选和等待队列的一起竞争 因为G频繁的挂起…

后端(五):JVM

目录 JVM 中的内存区域划分 JVM 的类加载机制 1. 加载 2. 验证 3. 准备 4. 解析 5. 初始化 JVM 中的垃圾回收策略 找,确认垃圾 1. 引用计数 2. 可达行分析 释放”垃圾“对象 1. 标记清除 2. 复制算法 3. 标记整理 分代算法 JVM也就是我们俗称的八股…

WEB阶段_CSSJS篇(附代码笔记)

&#xff08;一&#xff09;、使用DIVCSS布局首页 1、HTML的块标记 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title></head><body><div>div1</div><div>div2</div><…

查看IP地址方法(电脑IP地址方法)

查看IP地址方法 如何识别win7还是win10系统&#xff1f; &#xff08;一&#xff09;Win7系统电脑导航栏如下&#xff1a; &#xff08;二&#xff09;Win10系统电脑导航栏如下&#xff1a; 一、win7系统查看IP地址 方法一&#xff1a;查看网络设置 点击电脑导航栏最右下…

ASEMI快恢复二极管MUR20100CTR在电子工程中的应用

编辑-Z 随着电子技术的日益发展&#xff0c;各种电子元件的使用场景与需求也在逐步扩大。今天&#xff0c;我们将聚焦于一款广泛应用于各类电路的二极管——MUR20100CTR&#xff0c;来详细解读其性能特征及应用。 一、MUR20100CTR二极管的主要特性 MUR20100CTR是一款极高性能的…

Redis远程字典服务

目录 前言 1.NoSQL 1.1NOSQL和关系型数据库比较 1.2非关系型数据库的优势 1.3关系型数据库的优势 ​编辑 2.主流的NOSQL产品 键值(Key-Value)存储数据库 列存储数据库 文档型数据库 图形(Graph)数据库 3.Redis简介 redis的应用场景 4.命令操作 4.1字符串类型 s…

A7二极管-ASEMI迷你封装整流管A7二极管

编辑&#xff1a;ll A7二极管-ASEMI迷你封装整流管A7二极管 型号&#xff1a;A7二极管 品牌&#xff1a;ASEMI 封装&#xff1a;SOD-123 正向电流&#xff1a;1A 反向耐压&#xff1a;1000V 芯片大小&#xff1a;60MIL 芯片个数&#xff1a;1 引脚数量&#xff1a;2 …

git -- SSL certificate problem

SSL certificate problem 1.问题描述 新建一个仓库&#xff0c;在向里面上传文件时&#xff0c;出现SSL证书问题 2.解决方法 这个问题是由于没有配置信任的服务器HTTPS验证。默认&#xff0c;cURL被设为不信任任何CAs&#xff0c;就是说&#xff0c;它不信任任何服务器验证。…

Linux--使用者管理(job control)

Linux–使用者管理(job control) 文章目录 Linux--使用者管理(job control)前言一、任务管理(job control)二、&三、 将目前的任务丢到后台中暂停 -- ctrlz四、jobs -- 查看目前的后台任务状态五、fg -- 将后台任务拿到前台来处理六、bg -- 让任务在后台下的状态变为运行中…