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

您所在的位置:网站首页 分类汇总数据显示0 Pandas Groupby:在Python中对数据进行汇总、聚合和分组

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

2024-06-10 08:14| 来源: 网络整理| 查看: 265

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

GroupBy是一个相当简单的概念。我们可以创建一个类别的分组,并对这些类别应用一个函数。这是一个简单的概念,但它是一个非常有价值的技术,在数据科学中被广泛使用。在真正的数据科学项目中,你会处理大量的数据,并反复尝试一些东西,所以为了提高效率,我们使用Groupby概念。Groupby概念真的很重要,因为它能够有效地汇总、聚合和分组数据。

汇总

总结包括计算、描述数据框中的所有数据。我们可以使用describe()方法对数据框中的数据进行总结。该方法用于从数据框中获取最小、最大、总和、计数值以及该特定列的数据类型。

describe()。这个方法阐述了数据的类型和它的属性。

语法: dataframe_name.describe()

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

语法:dataframe[‘column_name].unique()

nunique()。这个方法与unique类似,但它将返回唯一值的数量。

语法:dataframe_name[‘column_name].nunique()

info()。该命令用于获取数据类型和列的信息

语法:dataframe.info()

列。该命令用于显示数据框中的所有列名。

语法:dataframe.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

输出:

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

# 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())

输出:

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

聚合

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

sum()。它返回数据框的总和

语法:dataframe[‘column].sum()

mean()。它返回数据框中特定列的平均值

语法:dataframe[‘column].mean()

std()。它返回该列的标准偏差。

语法:dataframe[‘column].std()

var()。它返回该列的方差

dataframe[‘column’].var()

min()。它返回列中的最小值

语法:dataframe[‘column’].min()

max()。它返回列中的最大值

语法:dataframe[‘column’].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

输出:

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

# 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())

输出:

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

分组

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

分割。这是一个过程,我们通过对数据集施加一些条件,将数据分成若干组。 应用。它是一个过程,在这个过程中,我们将一个函数独立地应用于每组 合并。这是一个过程,在应用groupby后,我们将不同的数据集结合在一起,结果是一个数据结构。

示例 1:

# 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'])

输出:

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

示例 2:

# 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())

输出:

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3