ONe在Pandas软件包中流行的功能是群比功能。我相信,几乎所有以前使用Pandas的人也必须使用群比功能。它是如此流行,因为它提供了总结,但详细的结果有效。正如潘达斯软件包医生所描述的,
这是小编准备的python基础学习资料,关注,转发,私信小编“01”即可免费领取!
我们指的是一个涉及以下一个或多个步骤的过程:
根据一定的准则将数据划分成组。
对每一组独立地应用一个函数。
将结果组合成数据结构。[1]
SQL中还有一个groupby函数。因此,对于在SQL方面有经验的人来说,用Python学习groupby函数并不是一件难事。但问题是Pandas中的groupby可以执行比在SQL中更多的分析,这使得Pandas中的groupby成为一种常见但必不可少的功能。
“灵丹妙药”中的群比之所以更强大,是因为第二步的“应用”。在SQL中,“应用”步骤中的大多数操作在统计上是相关的,如min、max、count等。然而,在Pandas中,“应用”可以执行得更多。
从潘达斯的医生那里,
在应用步骤中,我们可能希望使用以下内容之一:
聚合:计算每个组的汇总统计数据(或统计数据)。
转换:执行一些特定于组的计算,并返回一个类似的索引对象。
过滤:根据评估真假的分组计算,丢弃一些组.[1]
在本文中,我将介绍一些Groupby应用程序。这些应用程序不仅向我展示了从数据中获得的洞察力,而且还帮助我识别了我在分析数据方面的下一步行动。
我们开始吧。
本文使用的数据是Kaggle的“学生酒精消费”中的“学生-por.csv”。您可以从链接 .
# Input
import pandas as pd
data = pd.read_csv('student-por.csv')
data.info()# Output<class 'pandas.core.frame.DataFrame'>
RangeIndex: 649 entries, 0 to 648
Data columns (total 33 columns):
school 649 non-null object
sex 649 non-null object
age 649 non-null int64
address 649 non-null object
famsize 649 non-null object
Pstatus 649 non-null object
Medu 649 non-null int64
Fedu 649 non-null int64
Mjob 649 non-null object
Fjob 649 non-null object
reason 649 non-null object
guardian 649 non-null object
traveltime 649 non-null int64
studytime 649 non-null int64
failures 649 non-null int64
schoolsup 649 non-null object
famsup 649 non-null object
paid 649 non-null object
activities 649 non-null object
nursery 649 non-null object
higher 649 non-null object
internet 649 non-null object
romantic 649 non-null object
famrel 649 non-null int64
freetime 649 non-null int64
goout 649 non-null int64
Dalc 649 non-null int64
Walc 649 non-null int64
health 649 non-null int64
absences 649 non-null int64
G1 649 non-null int64
G2 649 non-null int64
G3 649 non-null int64
dtypes: int64(16), object(17)
memory usage: 167.4+ KB