Pandas Groupby之在Python中汇总、聚合和分组数据的示例详解

 更新时间:2023年07月24日 15:19:01   作者:吃肉的小馒头  
GroupBy是一个非常简单的概念,我们可以创建一个类别分组,并对这些类别应用一个函数,本文给大家介绍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())

在这里插入图片描述

到此这篇关于Pandas Groupby之如何在Python中汇总、聚合和分组数据的文章就介绍到这了,更多相关Python汇总、聚合和分组数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python实现简单的购物程序代码实例

    python实现简单的购物程序代码实例

    这篇文章主要介绍了python实现简单的购物程序代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • python实现的B站直播录制工具

    python实现的B站直播录制工具

    这篇文章主要介绍了python实现的B站直播录播工具,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • 利用打码兔和超人打码自封装的打码类分享

    利用打码兔和超人打码自封装的打码类分享

    打码是利用人工智能大量输入验证码的意思,这里提供一个自封装的打码类,需要的朋友可以参考下
    2014-03-03
  • 使用 Flask、Celery 和 Python 实现每月定时任务的步骤

    使用 Flask、Celery 和 Python 实现每月定时任务的步骤

    下面给大家分享使用 Flask、Celery 和 Python 实现每月定时任务的步骤,本文分步骤结合脚本给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • 基于Python实现给喜欢的主播自动发弹幕

    基于Python实现给喜欢的主播自动发弹幕

    这篇文章主要介绍了python如何实现给喜欢的主播自动发弹幕的功能,文中的示例代码对我们学习Python有一定的帮助,感兴趣的朋友可以了解下
    2021-12-12
  • Python 中如何写注释

    Python 中如何写注释

    这篇文章主要介绍了如何在 Python 中注释,帮助其他开发者理解你的代码,以及代码的目的。感兴趣的朋友可以了解下
    2020-08-08
  • Python OpenCV实现图像增强操作详解

    Python OpenCV实现图像增强操作详解

    由于很多不确定因素,导致图像采集的光环境极其复杂;为了提高目标检测模型的泛化能力,本文将使用python中的opencv模块实现常见的图像增强方法,感兴趣的可以了解一下
    2022-10-10
  • 解决tensorflow 释放图,删除变量问题

    解决tensorflow 释放图,删除变量问题

    这篇文章主要介绍了解决tensorflow 释放图,删除变量问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python tornado开启多进程的几种方法

    python tornado开启多进程的几种方法

    本文主要介绍了python tornado开启多进程的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Python用SSH连接到网络设备

    Python用SSH连接到网络设备

    这篇文章主要介绍了Python用SSH连接到网络设备,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-02-02

最新评论