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的Pyspider为例剖析搜索引擎的网络爬虫实现方法
Mar 30 Python
python使用正则表达式匹配字符串开头并打印示例
Jan 11 Python
python-opencv在有噪音的情况下提取图像的轮廓实例
Aug 30 Python
Python实现自动发送邮件功能
Mar 02 Python
python基础教程项目三之万能的XML
Apr 02 Python
使用python实现http及ftp服务进行数据传输的方法
Oct 26 Python
Python 硬币兑换问题
Jul 29 Python
Pytorch之parameters的使用
Dec 31 Python
python 画条形图(柱状图)实例
Apr 24 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
Feb 01 Python
python中的None与NULL用法说明
May 25 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开发中常用的8个小技巧
2008/08/27 PHP
php获取地址栏信息的代码
2008/10/08 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
2021/03/04 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
ASP.NET jQuery 实例7 通过jQuery来获取DropDownList的Text/Value属性值
2012/02/03 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
nodejs URL模块操作URL相关方法介绍
2015/03/03 NodeJs
6种javascript显示当前系统时间代码
2015/12/01 Javascript
Bootstrap中表单控件状态(验证状态)
2016/08/04 Javascript
JavaScript反射与依赖注入实例详解
2018/05/29 Javascript
详解mpvue开发小程序小总结
2018/07/25 Javascript
vue.js使用v-model实现表单元素(input) 双向数据绑定功能示例
2019/03/08 Javascript
如何实现一个简易版的vuex持久化工具
2019/09/11 Javascript
Django 前后台的数据传递的方法
2017/08/08 Python
Python实现pdf文档转txt的方法示例
2018/01/19 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
2018/03/30 Python
对python 命令的-u参数详解
2018/12/03 Python
Python3远程监控程序的实现方法
2019/07/15 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
python实现猜数游戏
2020/03/27 Python
python 实现图片修复(可用于去水印)
2020/11/19 Python
HTML5 Canvas阴影使用方法实例演示
2013/08/02 HTML / CSS
波兰在线体育用品商店:Hop-Sport.pl
2019/07/23 全球购物
打架检讨书500字
2014/01/29 职场文书
班级入场式解说词
2014/02/01 职场文书
水利公司纪检监察自我鉴定
2014/02/25 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
处级领导班子全部召开专题民主生活会情况汇报
2014/09/27 职场文书
四风对照检查剖析材料
2014/10/07 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
2015年民主评议党员工作总结
2015/05/19 职场文书
优秀大学生申请书
2019/06/24 职场文书
PyTorch 如何自动计算梯度
2021/05/23 Python