介绍
这篇文章主要讲解了python实现分组求和与分组累加求和的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
我就废话不多说了,大家还是直接看代码吧!
=utf - 8 - * - # - * -编码 熊猫作为pd导入 data=https://www.yisu.com/zixun/[' abc ', ' abc ', ' abc ',‘asc’,‘ase’,‘ase’,‘ase) num=[1、2、2、1、2、1、2) df1=pd.DataFrame({“名称”:数据,“num”: num}) 打印(df1) df1['嗯']=df1 (“num”) df2=df1。groupby(“名字”,“num”, as_index=False) .count () 打印(df2) df2。sort_values(“名字”,“num”,提升=[1],原地=True) 打印(df2) df2[”和“]=df2.groupby(['名字'])['嗯'].cumsum () 打印(df2) kk=df2.groupby(['名字'],as_index=False) (“num”) .sum () 打印(乐) df3=pd。合并(df2 kk, num>名称 0 abc 1 1美国广播公司2 美国广播公司(abc) 2 3 asc 1 4日月光半导体2 5日月光半导体1 6日月光半导体2 名字num嗯 0 abc 1 1 1美国广播公司(abc) 2 2 2 asc 1 1 3日月光半导体1 1 4日月光半导体2 2 名字num嗯 0 abc 1 1 1美国广播公司(abc) 2 2 2 asc 1 1 3日月光半导体1 1 4日月光半导体2 2 名字num嗯总和 abc 1 1 1 0 1美国广播公司(abc) 2 2 3 2 asc 1 1 1 3日月光半导体1 1 1 4日月光半导体2 2 3 全国矿工工会的名字 0 abc 3 asc 1 2日月光半导体3 名字num_x嗯num_y求和 0 abc 1 1 1 3 1美国广播公司(abc) 2 2 3 3 2 asc 1 1 1 1 3日月光半导体1 1 1 3 4日月光半导体2 2 3 3 名字num嗯总和numsum比率 0.333333 0 abc 1 1 1 3 1美国广播公司(abc) 2 2 3 3 0。1.000000 2 asc 1 1 1 1 1.000000 3日月光半导体1 1 1 3 0。0.333333 4日月光半导体2 2 3 3 0。1.000000 嗯比 0 1 0.555556 1 2 1.000000 过程完成退出代码0
<强> python项目篇——对符合条件的某个字段进行求和,聚合函数注释(),合计()函数强>
对符合条件的某个字段求和
需求的是,计算每日的收入和
1,
new_dayincome=request.POST.get (“dayincome_time",没有) # total_income=models.bathAccount.objects.filter (dayBath=new_dayincome) .aggregate (num=总和(& # 39;priceBath& # 39;)) total_income=models.bathAccount.objects.values (& # 39; priceBath& # 39;) .annotate (num=总和(& # 39;priceBath& # 39;)) .filter (dayBath=new_dayincome) 打印(“total_income" total_income [0] [& # 39; nums& # 39;])
输出结果:total_income 132
。模型导入,计数 new_dayincome=request.POST.get (“dayincome_time",没有) total_income=models.bathAccount.objects.filter (dayBath=new_dayincome) .aggregate (num=总和(& # 39;priceBath& # 39;)) 打印(“total_income" total_income [& # 39; nums& # 39;])
输出结果:total_income 572
第二种输出的是正确的数字
看完上述内容,是不是对python实现分组求和与分组累加求和的方法有进一步的了解,如果还想学习更多内容,欢迎关注行业资讯频道。