在Pandas中绘制Groupby对象中每个组的大小

在Pandas中绘制Groupby对象中每个组的大小

Pandas dataframe.groupby()函数是库中最有用的函数之一,它根据列/条件将数据分割成组,然后应用一些操作,例如,size()可以计算每个组中的条目/行的数量。groupby()也可以应用于系列。

语法: 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: 如果轴是一个多指标(分层),按一个或多个特定级别分组
as_index : 对于聚合输出,返回以组标签为索引的对象。只与DataFrame输入有关。as_index=False实际上是 “SQL风格 “的分组输出。
sort :对组键进行排序。通过关闭这个功能获得更好的性能。注意这并不影响每组中观察值的顺序。groupby保留了每组中的行的顺序。
group_keys :在调用apply时,将组键添加到索引中以识别件。
queeze :如果可能的话,降低返回类型的维度,否则返回一个一致的类型。
返回: GroupBy对象

在下面的例子中,我们将使用两个库seaborn和pandas,其中seaborn用于绘图,pandas用于读取数据。我们将使用seaborn的load_dataset()方法来加载penguins.csv数据集。

# import the module
import seaborn as sns
dataset = sns.load_dataset('penguins')
  
# displaying the data
print(dataset.head())

输出 :

在Pandas中绘制Groupby对象中每个组的大小。

数据集的前五行

使用info()方法获得关于数据集的更多信息

# display the number of columns and their data types
dataset.info()

输出 :

在Pandas中绘制Groupby对象中每个组的大小。

关于数据集的信息

我们将使用groupby()方法根据 “岛屿 “对数据进行分组,并进行绘图。

使用Pandas进行绘图。

# apply groupby on the island column
# plotting
dataset.groupby(['island']).size().plot(kind = "bar")

在Pandas中绘制Groupby对象中每个组的大小。

使用Pandas绘制groupby()的大小图

使用Seaborn进行制图

# use the groupby() function to group island column
# and apply size() function
# size() is equivalent to counting the distinct rows
result = dataset.groupby(['island']).size()
 
# plot the result
sns.barplot(x = result.index, y = result.values)

在Pandas中绘制Groupby对象中每个组的大小。

使用的尺寸图

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程