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入门篇之正则表达式
Oct 20 Python
python制作爬虫并将抓取结果保存到excel中
Apr 06 Python
Python编程实现正则删除命令功能
Aug 30 Python
python 3.0 模拟用户登录功能并实现三次错误锁定
Nov 01 Python
python实现图片批量压缩程序
Jul 23 Python
Python线程下使用锁的技巧分享
Sep 13 Python
解决Python安装时报缺少DLL问题【两种解决方法】
Jul 15 Python
pip安装python库的方法总结
Aug 02 Python
python自动分箱,计算woe,iv的实例代码
Nov 22 Python
tensorflow常用函数API介绍
Apr 19 Python
python hmac模块验证客户端的合法性
Nov 07 Python
Python+Appium实现自动抢微信红包
May 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
在PHP中使用curl_init函数的说明
2010/11/02 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
Ubuntu下安装PHP的mongodb扩展操作命令
2015/07/04 PHP
php微信公众平台示例代码分析(二)
2016/12/06 PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
2019/06/12 PHP
ie focus bug 解决方法
2009/09/03 Javascript
js onload事件不起作用示例分析
2013/10/09 Javascript
利用javascript判断文件是否存在
2013/12/31 Javascript
利用jquery写的左右轮播图特效
2014/02/12 Javascript
如何减少浏览器的reflow和repaint
2015/02/26 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
jQuery设置单选按钮radio选中/不可用的实例代码
2016/06/24 Javascript
Bootstrap基本插件学习笔记之折叠(22)
2016/12/08 Javascript
教你用Cordova打包Vue项目的方法
2017/10/17 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
[01:02]DOTA2辉夜杯决赛日 CDEC.Y对阵VG赛前花絮
2015/12/27 DOTA
python连接池实现示例程序
2013/11/26 Python
python进程池实现的多进程文件夹copy器完整示例
2019/11/27 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
构建高效的python requests长连接池详解
2020/05/02 Python
解决pytorch 交叉熵损失输出为负数的问题
2020/07/07 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
国外最大的眼镜网站:Coastal
2017/08/09 全球购物
Python如何实现单例模式
2016/06/03 面试题
一道Delphi上机题
2012/06/04 面试题
幼儿园托班开学寄语
2014/01/18 职场文书
十佳班主任事迹材料
2014/01/18 职场文书
幼儿园教育教学反思
2014/01/31 职场文书
给妈妈洗脚活动方案
2014/08/16 职场文书
建筑专业毕业生求职信
2014/09/30 职场文书
党员自我剖析材料(群众路线)
2014/10/06 职场文书
病人写给医生的感谢信
2015/01/23 职场文书
出纳试用期自我评价
2015/03/10 职场文书
关于环保的宣传稿
2015/07/23 职场文书
浅谈Python3中datetime不同时区转换介绍与踩坑
2021/08/02 Python
Python制作表白爱心合集
2022/01/22 Python