博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pandas之groupby分组与pivot_table透视表
阅读量:5207 次
发布时间:2019-06-14

本文共 1722 字,大约阅读时间需要 5 分钟。

zhuanzi: https://blog.csdn.net/qq_33689414/article/details/78973267

 

pandas之groupby分组与pivot_table透视表

在使用pandas进行数据分析时,避免不了使用groupby来对数据进行分组运算。

groupby的参数

groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)

 

  • by:mapping, function, str, or iterable。

    用于确定groupby的组。如果by是一个函数,那么会调用对象索引的每个值。如果传递了一个dict或Series,则将使用Series或dict的值来确定组。一个str或者一个strs列表可以通过自己的列传递给group。

  • axis:轴,int值,默认为0

  • level:如果axis是一个MultiIndex(分层),则按特定的级别分组。int值,默认为None

  • as_index:对于聚合输出,返回带有组标签的对象作为索引。as_index=False实际上是“SQL风格”分组输出,boolean值,默认为True。

  • sort:排序。关闭此功能以获得更好的性能。boolean值,默认True。

  • group_keys:当调用apply时,添加group key来索引来识别片断。boolean值,默认True。

  • squeeze:尽可能减少返回类型的维度,否则返回一致的类型。boolean值,默认False。

groupby的聚合函数

groupby的聚合函数有:

函数名 说明
count 分组中非NA值的数量
sum 非NA值的和
mean 非NA值的平均值
median 非NA值的算术中位数
std、var 无偏(分母为n-1)标准差和方差
min、max 非NA值的最小值和最大值
prod 非NA值的积
first、last 第一个或最后一个非NA值

groupby示例

groupby的测试数据:

  • 读取groupby_test.csv文件中的数据,输处文件内容。
if __name__ == '__main__':    data = pd.read_csv('groupby_test.csv') print(data[:10])

image

  • groupby函数,对区域字段进行分组,对总价求平均值。
results = data.groupby(['区域'])['总价']print(results)  # 输出:
print(results.mean())

image

  • groupby函数,对区域字段进行分组,对面积求和。
results = data.groupby(['区域'])['面积'].sum() print(results)

image

  • groupby函数,对区域字段进行分组,对区域计算count。
results = data.groupby(data['区域'], sort=False)['区域'].count() print(results)

image

  • groupby函数,对区域字段进行分组,求总价,单价,面积的平均值。
results = data.groupby(['区域'])['总价', '单价', '面积'].mean()print(results)

image

  • groupby函数,对区域,版块2个字段进行分组,求单价的平均值。
results = data.groupby(['区域', '版块'])['单价'].mean()print(results)

 

image

pivot_table透视表

使用pivot_table透视表实现groupby的功能

results = pd.pivot_table(data, index=['区域', '版块'], values=['单价']) print(results)

image

转载于:https://www.cnblogs.com/eternal1025/p/9366903.html

你可能感兴趣的文章
[Cycle.js] The Cycle.js principle: separating logic from effects
查看>>
[AngularJS] Accessible Button Events
查看>>
[CSS] Use Generated Content to Augment Information
查看>>
MySQL中group_concat函数,用符号连接查询分组里字段值
查看>>
图解HTTP简单笔记【上】
查看>>
Vmware 注册服务 开机自启
查看>>
JS跨域
查看>>
sqlserver数据库差异比较
查看>>
二维数组,多维数组
查看>>
How To Synchronize Core Data with a Web Service – Part 2
查看>>
ui自动化--鼠标操作ActionChains
查看>>
学习es6
查看>>
native2ascii -reverse -encoding UTF-8 validation_msg.properties > validation_msg_src.properties
查看>>
java-4
查看>>
Windows下比较小巧的c/c++ ide
查看>>
python中的模块
查看>>
node_oracle连接
查看>>
向“生物力学之父”冯元桢先生学习什么?【转载】
查看>>
iOS 绘图 (UIImage的一些操作)
查看>>
深入mysql “ON DUPLICATE KEY UPDATE” 语法的分析
查看>>