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中使用base64模块来处理base64编码的方法
Jul 01 Python
酷! 程序员用Python带你玩转冲顶大会
Jan 17 Python
vue.js实现输入框输入值内容实时响应变化示例
Jul 07 Python
python分块读取大数据,避免内存不足的方法
Dec 10 Python
python pyinstaller 加载ui路径方法
Jun 10 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
Jul 02 Python
利用python Selenium实现自动登陆京东签到领金币功能
Oct 31 Python
Python函数必须先定义,后调用说明(函数调用函数例外)
Jun 02 Python
完美解决pycharm 不显示代码提示问题
Jun 02 Python
基于Python的图像阈值化分割(迭代法)
Nov 20 Python
OpenCV+python实现膨胀和腐蚀的示例
Dec 21 Python
python3判断IP地址的方法
Mar 04 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
德劲1107的电路分析与打磨
2021/03/02 无线电
IIS+PHP+MySQL+Zend配置 (视频教程)
2006/12/13 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
2012/08/21 PHP
Memcached常用命令以及使用说明详解
2013/06/27 PHP
php反射应用示例
2014/02/25 PHP
php自定义session示例分享
2014/04/22 PHP
PHP+ajax实现获取新闻数据简单示例
2018/05/08 PHP
js 创建快捷方式的代码(fso)
2010/11/19 Javascript
jquery怎样实现ajax联动框(一)
2013/03/08 Javascript
js confirm()方法的使用方法实例
2013/07/13 Javascript
jQuery网页选项卡插件rTabs用法实例分析
2015/08/26 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
2016/11/29 Javascript
bootstrap滚动监控器使用方法解析
2017/01/13 Javascript
bootstrap select插件封装成Vue2.0组件
2017/04/17 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
JavaScript类数组对象转换为数组对象的方法实例分析
2018/07/24 Javascript
如何利用ES6进行Promise封装总结
2019/02/11 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
python3 pandas 读取MySQL数据和插入的实例
2018/04/20 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
2018/08/25 Python
pyhton中__pycache__文件夹的产生与作用详解
2019/11/24 Python
英国著名的药妆网站:Escentual
2016/07/29 全球购物
购买正版游戏和游戏激活码:Green Man Gaming
2019/11/06 全球购物
司机的工作范围及职责
2013/11/13 职场文书
小学教育毕业生自荐信
2013/11/18 职场文书
企业党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
学习心理学的体会
2014/11/07 职场文书
幼儿园园长新年寄语2015
2014/12/08 职场文书
工作时间证明
2015/06/15 职场文书
房屋产权证明书
2015/06/19 职场文书
2015年教师个人业务工作总结
2015/10/23 职场文书
2019年行政人事个人工作总结范本!
2019/07/19 职场文书
一道JS算法面试题——冒泡、选择排序
2021/04/21 Javascript
MySQL注入基础练习
2021/05/30 MySQL
Python anaconda安装库命令详解
2021/10/16 Python