本文概述
- 句法
- 将数据分组
- Groupby的参数
- 退货
句法
DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)
此操作包括以下步骤, 以对数据进行汇总/分组:
- 分割数据集
- 分析数据
- 汇总或合并数据
- obj.groupby(‘ key’ )
- obj.groupby([‘ key1’ , ‘ key2’ ])
- obj.groupby(key, axis = 1)
- 汇总:计算摘要统计信息。
- 转换:它执行某些特定于组的操作。
- 过滤:它通过在某些条件下丢弃数据来过滤数据。
它被定义为为每个组返回单个聚合值的函数。创建groupby对象时, 我们可以对分组数据执行多种聚合操作。
例子
# import the pandas libraryimport pandas as pdimport numpy as npdata = http://www.srcmini.com/{'Name': ['Parker', 'Smith', 'John', 'William'], 'Percentage': [82, 98, 91, 87], 'Course': ['B.Sc', 'B.Ed', 'M.Phill', 'BA']}df = pd.DataFrame(data)grouped = df.groupby('Course')print(grouped['Percentage'].agg(np.mean))
输出
CourseB.Ed98B.Sc82BA87M.Phill91Name: Percentage, dtype: int64
转变
这是对组或列执行的操作, 该操作执行某些特定于组的计算并返回以与组大小相同的大小索引的对象。
例子
# import the pandas libraryimport pandas as pdimport numpy as npdata = http://www.srcmini.com/{'Name': ['Parker', 'Smith', 'John', 'William'], 'Percentage': [82, 98, 91, 87], 'Course': ['B.Sc', 'B.Ed', 'M.Phill', 'BA']}df = pd.DataFrame(data)grouped = df.groupby('Course')Percentage = lambda x: (x - x.mean()) / x.std()*10print(grouped.transform(Percentage))
输出
Percentage0NaN1NaN2NaN3NaN
过滤
filter()函数通过定义一些条件来过滤数据并返回数据的子集。
例子
# import the pandas libraryimport pandas as pdimport numpy as npdata = http://www.srcmini.com/{'Name': ['Parker', 'Smith', 'John', 'William'], 'Percentage': [82, 98, 91, 87], 'Course': ['B.Sc', 'B.Ed', 'M.Phill', 'BA']}df = pd.DataFrame(data)grouped = df.groupby('Course')print (df.groupby('Course').filter(lambda x: len(x) >
= 1))
输出
NamePercentageCourse0Parker82B.Sc1Smith98B.Ed2John91M.Phill3William87BA
Groupby的参数
- 创建人:映射, 函数, str或可迭代
如果传递了ndarray, 则按原样使用这些值来确定组。
我们还可以传递标签或标签列表以按自身中的列进行分组。
- 轴:{0或’ index’ , 1或’ columns’ }, 默认值0
- 级别:整数, 级别名称或此类的序列, 默认值无。
- as_index:布尔值, 默认为True
它返回带有组标签的对象作为聚合输出的索引。 - 排序:布尔值, 默认为True
用于对组键进行排序。关闭此功能可获得更好的性能。
- group_keys:bool, 默认值为True
- 已观察到:布尔值, 默认值为False
仅当任何石斑鱼为分类者时, 才使用它。如果该值为True, 则它将仅显示分类石斑鱼的观测值。否则, 它将显示其所有值。 - **夸克
它是一个可选参数, 仅接受传递给groupby的关键字参数” mutated” 。
例子
import pandas as pdinfo = pd.DataFrame({'Name': ['Parker', 'Smith', 'John', 'William'], 'Percentage': [92., 98., 89., 86.]})info
输出
文章图片
例子
# import the pandas libraryimport pandas as pddata = http://www.srcmini.com/{'Name': ['Parker', 'Smith', 'John', 'William'], 'Percentage': [82, 98, 91, 87], }info = pd.DataFrame(data)print (info)
【Pandas DataFrame.groupby()示例】输出
NamePercentage0Parker821Smith982John913William87
推荐阅读
- Pandas Series.map()用法详解
- Pandas DataFrame.pivot_table()使用示例
- Pandas DataFrame.merge()用法详解
- Pandas melt()用法介绍
- Pandas DataFrame.join()用法介绍
- Kotlin之let,apply,with,run函数区别(转)
- 支付宝支付之App支付
- xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH
- Android开发中常见的设计模式——单例模式