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-05-05
  • 关于python2 csv写入空白行的问题

    关于python2 csv写入空白行的问题

    今天小编就为大家分享一篇关于python 2 csv写入空白行的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • pandas与pyspark计算效率对比分析

    pandas与pyspark计算效率对比分析

    这篇文章主要介绍了pandas与pyspark计算效率对比,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Python脚本提取fasta文件单序列信息实现

    Python脚本提取fasta文件单序列信息实现

    这篇文章主要为大家介绍了Python脚本提取fasta文件单序列信息实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • python一行sql太长折成多行并且有多个参数的方法

    python一行sql太长折成多行并且有多个参数的方法

    今天小编就为大家分享一篇python一行sql太长折成多行并且有多个参数的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python自动化测试通过日志3分钟定位bug

    python自动化测试通过日志3分钟定位bug

    软件开发中通过日志记录程序的运行情况是一个开发的好习惯,对于错误排查和系统运维都有很大帮助,Python标准库自带了强大的logging日志模块,在各种python模块中得到广泛应用
    2021-11-11
  • python3通过subprocess模块调用脚本并和脚本交互的操作

    python3通过subprocess模块调用脚本并和脚本交互的操作

    这篇文章主要介绍了python3通过subprocess模块调用脚本并和脚本交互的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Python中property函数用法实例分析

    Python中property函数用法实例分析

    这篇文章主要介绍了Python中property函数用法,结合实例形式分析了property函数的功能、参数、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-06-06
  • python匿名函数的使用方法解析

    python匿名函数的使用方法解析

    这篇文章主要介绍了python匿名函数的使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • pytest中测试特定接口的四种方法

    pytest中测试特定接口的四种方法

    本文介绍了pytest中测试特定接口的四种方法,这些方法可帮助开发者灵活选择运行特定测试用例,提高测试效率,下面就来介绍一下着四种常用方法,感兴趣的可以了解一下
    2025-07-07

最新评论