pandas groupby()的使用小结

 更新时间:2023年11月08日 09:03:08   作者:m0_38093796  
在数据分析中,经常会用到分组,可用函数pandas中的groupby(),本文就来介绍一下pandas groupby()的使用小结,具有一定的参考价值,感兴趣的可以了解一下

在数据分析中,经常会用到分组,可用函数 pandas 中的groupby()。

groupby()主要的分组统计方向:

1、分组汇总
2、分组描述性统计分析
3、分组计算均值等统计量
4、分组去重
5、分组排序取样本
6、分组汇总,然后再分组计算

Date	Latitude	Longitude	Depth	Type
01/02/1965	19.246	145.616	131.6	Earthquake
01/04/1965	1.863	127.352	80.0	Earthquake
01/05/1965	-20.579	-173.972	20.0	Earthquake
01/08/1965	-59.076	-23.557	15.0	Earthquake
01/09/1965	11.938	126.427	15.0	Earthquake
#1、分组统计组内个数
df.groupby(['date','Type'])
	.size()

#2、分组统计计算‘Depth'的基本数据分布
df.groupby(['date','type'])['Depth']
	.describe()
	
#3、分组统计计算‘Latitude'的均值	
df.groupby(['date','type'])
	.agg({'Latitude':'mean'})

#分组统计计算两列数据的均值
df.groupby(['date','type'])
	.agg(la_mean = ('Latitude','mean'),
 		 lo_mean = ('Longitude','mean'),
 		 la_range = ('depth',lambda x:x.max() - x.min()))

#4、分组然后对每组去重,然后汇总去重后的个数
df.groupby('date')
	.apply(lambda x: x.drop_duplicates('Type')['Type']
		.count())

#5、分组,然后按照‘Latitude'降序,并取出每组的前3个样本。
df.groupby(['date'])
	.apply(lambda x: x.sort_values('Latitude',ascending = False)
			.head(3))

#6、分组,然后汇总计算两列数据,再进行分组,取出每一组‘la_sum'的最大值
df.groupby(['date','type'])
	.agg(la_sum = ('Latitude','sum'),
		 lo_sum = ('Longitude','sum'))
		 	.groupby(['date'])
				.apply(lambda x:x.sort_values('la_sum ',ascending = False).head(1))

#分组,然后按照type排序,再分组,取出前10汇总和后10汇总,然后再计算两者的比率
df.groupby('date')
	.apply(lambda x:x.sort_values('type'))
		.reset_index(drop = True).groupby('date')
			.agg(tail10 = ('depth',lambda x:x.head(10).sum()),
				 top10 = ('depth',lambda x:x.tail(10).sum()))
					.apply(lambda x:x['top10']/x['tail10'],axis = 1)

groupby()结合agg()和apply(),可以解决很多复杂的分组计算问题。

到此这篇关于pandas groupby()的使用小结的文章就介绍到这了,更多相关pandas groupby()使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python实现从ftp服务器下载文件

    python实现从ftp服务器下载文件

    这篇文章主要为大家详细介绍了python实现从ftp服务器下载文件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • Python实现简单扫雷游戏

    Python实现简单扫雷游戏

    这篇文章主要为大家详细介绍了Python实现简单扫雷游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • Python+tkinter制作经典登录界面和点击事件

    Python+tkinter制作经典登录界面和点击事件

    Tkinter是 Python 标准 GUI 库,简称 “Tk”;从本质上来说,它是对 TCL/TK 工具包的一种 Python 接口封装。本文将利用tkinter制作一个经典的登录界面和点击事件,需要的可以参考一下
    2022-09-09
  • Python中Arrow库的时间操作技法总结

    Python中Arrow库的时间操作技法总结

    Arrow是一个功能强大、易用且具有优雅设计的Python日期时间库,它建立在Python的datetime模块之上,旨在弥补datetime模块在处理日期时间时的一些不足之处,下面我们就来了解一下Arrow库的常见时间操作吧
    2023-12-12
  • 解决pip install xxx报错SyntaxError: invalid syntax的问题

    解决pip install xxx报错SyntaxError: invalid syntax的问题

    今天小编就为大家分享一篇解决pip install xxx报错SyntaxError: invalid syntax的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • 详解Python中for循环是如何工作的

    详解Python中for循环是如何工作的

    如果你对python中的for循环不是很清楚,那么建议你看看这篇文章,本文主要给大家介绍了关于Python中for循环是如何工作的相关资料,介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • python程序中调用其他程序的实现

    python程序中调用其他程序的实现

    本文主要介绍了python程序中调用其他程序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • python中bytes和str类型的区别

    python中bytes和str类型的区别

    这篇文章主要介绍了python中bytes和str类型的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • 5个Python使用F-String进行格式化的实用技巧分享

    5个Python使用F-String进行格式化的实用技巧分享

    F-String(格式化字符串字面值)是在Python 3.6中引入的,它是一种非常强大且灵活的字符串格式化方法,本文总结了5个实用的F-String技巧,相信一定能让你的代码输出更加的美观,快跟随小编一起学习起来吧
    2024-03-03
  • 详解如何利用Numpy生成各种各样的数组

    详解如何利用Numpy生成各种各样的数组

    Numpy提供了多种函数和方法,可以方便地生成不同形状和类型的数组,今天小编就带大家学习一下如何利用 Numpy 生成各种各样的数组吧
    2023-07-07

最新评论