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是否需要联网

    虚拟机下载python是否需要联网

    在本篇文章里小编给大家分享的是一篇关于虚拟机下载python是否需要联网的相关文章,有需要的朋友们可以参考下。
    2020-07-07
  • 在Pycharm中调试Django项目程序的操作方法

    在Pycharm中调试Django项目程序的操作方法

    今天小编就为大家分享一篇在Pycharm中调试Django项目程序的操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • pytorch:torch.mm()和torch.matmul()的使用

    pytorch:torch.mm()和torch.matmul()的使用

    今天小编就为大家分享一篇pytorch:torch.mm()和torch.matmul()的使用,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • TensorFlow dataset.shuffle、batch、repeat的使用详解

    TensorFlow dataset.shuffle、batch、repeat的使用详解

    今天小编就为大家分享一篇TensorFlow dataset.shuffle、batch、repeat的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 关于Python3 lambda函数的深入浅出

    关于Python3 lambda函数的深入浅出

    今天小编就为大家分享一篇关于Python3 lambda函数的深入浅出,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Pycharm最全报错的原因与解决方法总结(推荐!)

    Pycharm最全报错的原因与解决方法总结(推荐!)

    这篇文章主要给大家介绍了关于Pycharm最全报错的原因与解决方法的相关资料,文中记录了Python各种报错解释及处理方法,属于个人记录型,需要的朋友可以参考下
    2022-07-07
  • FFrpc python客户端lib使用解析

    FFrpc python客户端lib使用解析

    这篇文章主要介绍了FFrpc python客户端lib使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • python学习之面向对象【入门初级篇】

    python学习之面向对象【入门初级篇】

    Python从第一天开始就是面向对象的语言。正因为如此,创建和使用类和对象是非常地容易。这篇文章主要介绍了python中面向对象的相关资料,属于python面向对象学习的初级篇,本章将帮助您在使用Python面向对象编程的技术方面所有提高,有需要的朋友可以参考借鉴。
    2017-01-01
  • python selenium 执行完毕关闭chromedriver进程示例

    python selenium 执行完毕关闭chromedriver进程示例

    今天小编就为大家分享一篇python selenium 执行完毕关闭chromedriver进程示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python数据类型详解(二)列表

    Python数据类型详解(二)列表

    本文给大家详细介绍的是Python数据类型中的列表(list),非常的简单实用,有需要的小伙伴可以参考下
    2016-05-05

最新评论