Python Pandas dataframe.groupby()
Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据变得更加容易。
Pandas groupby用于根据类别对数据进行分组,并对类别应用一个函数。它也有助于有效地汇总数据。
Pandas dataframe.groupby()函数被用来根据一些标准将数据分成组。pandas对象可以在其任何一个axis上进行分割。分组的抽象定义是提供一个标签到组名的映射。
语法: DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)
参数 :
by :映射、函数、str或iterable
axis : int, default 0
level : 如果axis是一个多指标(分层),按一个或多个特定级别分组
as_index : 对于聚合输出,返回以组标签为索引的对象。只与DataFrame输入有关。as_index=False实际上是 “SQL风格 “的分组输出。
sort :对组键进行排序。通过关闭这个功能获得更好的性能。注意这并不影响每组中观察值的顺序。groupby保留了每组中的行的顺序。
group_keys :在调用apply时,将组键添加到索引中以识别件。
queeze :如果可能的话,降低返回类型的维度,否则返回一个一致的类型。
返回: GroupBy对象
例子#1:使用groupby()函数,根据 “团队 “对数据进行分组。
# importing pandas as pd
import pandas as pd
# Creating the dataframe
df = pd.read_csv("nba.csv")
# Print the dataframe
df

现在应用groupby()函数。
# applying groupby() function to
# group the data on team value.
gk = df.groupby('Team')
# Let's print the first entries
# in all the groups formed.
gk.first()
输出 :

让我们打印包含任何一个组的值。为此,使用团队的名称。我们使用函数get_group()来查找包含在任何一个组中的条目。
# Finding the values contained in the "Boston Celtics" group
gk.get_group('Boston Celtics')
输出 :

例子#2:使用groupby()函数,根据一个以上的类别形成组(即使用一个以上的列来执行分割)。
# importing pandas as pd
import pandas as pd
# Creating the dataframe
df = pd.read_csv("nba.csv")
# First grouping based on "Team"
# Within each team we are grouping based on "Position"
gkk = df.groupby(['Team', 'Position'])
# Print the first value in each group
gkk.first()
输出 :

groupby()是一个非常强大的函数,有很多的变化。它使根据一些标准分割数据框架的任务变得非常容易和有效。
极客教程