python 实现分组求和与分组累加求和代码


Posted in Python onMay 18, 2020

我就废话不多说了,大家还是直接看代码吧!

# -*- encoding=utf-8 -*-
import pandas as pd
data=['abc','abc','abc','asc','ase','ase','ase']
num=[1,2,2,1,2,1,2]
df1=pd.DataFrame({'name':data,'num':num})
print(df1)

df1['mmm']=df1['num']
df2=df1.groupby(['name', 'num'], as_index=False).count()
print(df2)
df2.sort_values(['name', 'num'], ascending=[1, 1], inplace=True)
print(df2)
df2['sum']=df2.groupby(['name'])['mmm'].cumsum()
print(df2)
kk=df2.groupby(['name'],as_index=False)['num'].sum()
print(kk)
df3 = pd.merge(df2, kk, on='name', how='left',)
print(df3)
df3['ratio']=df3['sum']/df3['num_y']
df3.columns = ['name', 'num', 'mmm', 'sum','numsum','ratio']
print(df3)
df4=df3.groupby(['mmm'],as_index=False)['ratio'].mean()

print(df4)

运行:

name num
0 abc  1
1 abc  2
2 abc  2
3 asc  1
4 ase  2
5 ase  1
6 ase  2
 name num mmm
0 abc  1  1
1 abc  2  2
2 asc  1  1
3 ase  1  1
4 ase  2  2
 name num mmm
0 abc  1  1
1 abc  2  2
2 asc  1  1
3 ase  1  1
4 ase  2  2
 name num mmm sum
0 abc  1  1  1
1 abc  2  2  3
2 asc  1  1  1
3 ase  1  1  1
4 ase  2  2  3
 name num
0 abc  3
1 asc  1
2 ase  3
 name num_x mmm sum num_y
0 abc   1  1  1   3
1 abc   2  2  3   3
2 asc   1  1  1   1
3 ase   1  1  1   3
4 ase   2  2  3   3
 name num mmm sum numsum   ratio
0 abc  1  1  1    3 0.333333
1 abc  2  2  3    3 1.000000
2 asc  1  1  1    1 1.000000
3 ase  1  1  1    3 0.333333
4 ase  2  2  3    3 1.000000
  mmm   ratio
0  1 0.555556
1  2 1.000000

Process finished with exit code 0

补充知识:python项目篇-对符合条件的某个字段进行求和,聚合函数annotate(),aggregate()函数

对符合条件的某个字段求和

需求是,计算每日的收入和

1、

new_dayincome = request.POST.get("dayincome_time", None)

    # total_income = models.bathAccount.objects.filter(dayBath=new_dayincome).aggregate(nums=Sum('priceBath'))
    total_income = models.bathAccount.objects.values('priceBath').annotate(nums=Sum('priceBath')).filter(dayBath=new_dayincome)
    print("total_income",total_income[0]['nums'])

输出结果:total_income 132

2、

from django.db.models import Sum,Count
new_dayincome = request.POST.get("dayincome_time", None)

    total_income = models.bathAccount.objects.filter(dayBath=new_dayincome).aggregate(nums=Sum('priceBath'))
    print("total_income",total_income['nums'])

输出结果:total_income 572

第二种输出的是正确的数字

以上这篇python 实现分组求和与分组累加求和代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python通过索引遍历列表的方法
May 04 Python
Python yield 使用方法浅析
May 20 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
Jan 19 Python
Python告诉你木马程序的键盘记录原理
Feb 02 Python
python字符串和常用数据结构知识总结
May 21 Python
python+OpenCV实现车牌号码识别
Nov 08 Python
解决torch.autograd.backward中的参数问题
Jan 07 Python
PyQt5 如何让界面和逻辑分离的方法
Mar 24 Python
对python中各个response的使用说明
Mar 28 Python
Python爬虫抓取论坛关键字过程解析
Oct 19 Python
python不同版本的_new_不同点总结
Dec 09 Python
opencv检测动态物体的实现
Jul 21 Python
Django ORM实现按天获取数据去重求和例子
May 18 #Python
如何实现更换Jupyter Notebook内核Python版本
May 18 #Python
python mysql自增字段AUTO_INCREMENT值的修改方式
May 18 #Python
Pycharm安装并配置jupyter notebook的实现
May 18 #Python
Django中的AutoField字段使用
May 18 #Python
jupyter notebook运行命令显示[*](解决办法)
May 18 #Python
jupyter notebook的安装与使用详解
May 18 #Python
You might like
9个PHP开发常用功能函数小结
2011/07/15 PHP
19个超实用的PHP代码片段
2014/03/14 PHP
phpQuery让php处理html代码像jQuery一样方便
2015/01/06 PHP
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
瀑布流布局并自动加载实现代码
2013/03/12 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
Jquery中的$.each获取各种返回类型数据的使用方法
2015/05/03 Javascript
基于Jquery实现表单验证
2020/07/20 Javascript
JS实现的通用表单验证插件完整实例
2015/08/20 Javascript
JavaScript面向对象编写购物车功能
2016/08/19 Javascript
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
vue解决跨域路由冲突问题思路解析
2017/11/03 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
JS实现利用两个队列表示一个栈的方法
2017/12/13 Javascript
elementUI select组件使用及注意事项详解
2019/05/29 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
Vue如何实现监听组件原生事件
2020/07/03 Javascript
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
在win和Linux系统中python命令行运行的不同
2016/07/03 Python
python登录并爬取淘宝信息代码示例
2017/12/09 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
Python Django框架实现应用添加logging日志操作示例
2019/05/17 Python
Python批量修改图片分辨率的实例代码
2019/07/04 Python
为什么从Python 3.6开始字典有序并效率更高
2019/07/15 Python
python中数字是否为可变类型
2020/07/08 Python
HTML5拖放功能_动力节点Java学院整理
2017/07/13 HTML / CSS
Perricone MD裴礼康美国官网:抗衰老护肤品
2016/09/26 全球购物
澳大利亚现代波西米亚风格女装网站:Bohemian Traders
2018/04/16 全球购物
Bloomingdale’s阿联酋:选购奢华时尚、美容及更多
2020/09/22 全球购物
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
工伤事故处理协议书怎么写
2014/10/15 职场文书
试用期自我评价范文
2015/03/10 职场文书
十大最强奥特曼武器:怪兽战斗仪在榜,第五奥特之父只使用过一次
2022/03/18 日漫