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读取图片属性信息的实现方法
Sep 11 Python
Python可变参数用法实例分析
Apr 02 Python
python下setuptools的安装详解及No module named setuptools的解决方法
Jul 06 Python
Python实现string字符串连接的方法总结【8种方式】
Jul 06 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
May 03 Python
详解Python3除法之真除法、截断除法和下取整对比
May 23 Python
对python中UDP,socket的使用详解
Aug 22 Python
python中利用matplotlib读取灰度图的例子
Dec 07 Python
详解python opencv、scikit-image和PIL图像处理库比较
Dec 26 Python
PyTorch里面的torch.nn.Parameter()详解
Jan 03 Python
Django后端分离 使用element-ui文件上传方式
Jul 12 Python
python实现快速文件格式批量转换的方法
Oct 16 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
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法示例
2017/08/10 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
2019/05/06 PHP
把JS与CSS写在同一个文件里的书写方法
2007/06/02 Javascript
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
jquery中的查找parents与closest方法之间的区别
2013/12/02 Javascript
AngularJS单选框及多选框实现双向动态绑定
2016/01/13 Javascript
AngularJS手动表单验证
2016/02/01 Javascript
JavaScript的Vue.js库入门学习教程
2016/05/23 Javascript
谈谈JavaScript的New关键字
2016/08/26 Javascript
Javascript中 toFixed四舍六入方法
2017/08/21 Javascript
解决vue+webpack打包路径的问题
2018/03/06 Javascript
详解关于Vuex的action传入多个参数的问题
2019/02/22 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
vue下canvas裁剪图片实例讲解
2020/04/16 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
js实现列表按字母排序
2020/08/11 Javascript
Python实现网站注册验证码生成类
2017/06/08 Python
Python对象类型及其运算方法(详解)
2017/07/05 Python
python中virtualenvwrapper安装与使用
2018/05/20 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
2018/07/26 Python
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
2019/09/06 Python
Python3实现配置文件差异对比脚本
2019/11/18 Python
Python多线程多进程实例对比解析
2020/03/12 Python
利用Python将图片中扭曲矩形的复原
2020/09/07 Python
css3过渡_动力节点Java学院整理
2017/07/11 HTML / CSS
经典公益广告词
2014/03/13 职场文书
读书演讲主持词
2014/03/18 职场文书
大学新生军训自我鉴定
2014/09/18 职场文书
2014年政风行风自查自纠报告
2014/10/21 职场文书
2014年医生工作总结
2014/11/21 职场文书
幼儿园教师个人总结
2015/02/05 职场文书
2015年中秋节活动总结
2015/03/23 职场文书
爱的教育观后感
2015/06/17 职场文书
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS