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海龟绘图实例教程
Jul 24 Python
Python中正则表达式的详细教程
Apr 30 Python
浅谈Pycharm调用同级目录下的py脚本bug
Dec 03 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
Jun 13 Python
如何不用安装python就能在.NET里调用Python库
Jul 12 Python
python django model联合主键的例子
Aug 06 Python
Python列表list操作相关知识小结
Jan 29 Python
Python OpenCV读取显示视频的方法示例
Feb 20 Python
logging level级别介绍
Feb 21 Python
Python threading.local代码实例及原理解析
Mar 16 Python
学会迭代器设计模式,帮你大幅提升python性能
Jan 03 Python
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
May 12 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
重置版战役片段
2020/04/09 魔兽争霸
什么是调频(FM)、调幅(AM)、短波(SW)、长波(LW)
2021/03/01 无线电
别人整理的服务器变量:$_SERVER
2006/10/20 PHP
php面向对象全攻略 (十七) 自动加载类
2009/09/30 PHP
关于svn冲突的解决方法
2013/06/21 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
php防止sql注入之过滤分页参数实例
2014/11/03 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
PHP微信开发之文本自动回复
2016/06/23 PHP
laravel框架分组控制器和分组路由实现方法示例
2020/01/25 PHP
php自动加载代码实例详解
2021/02/26 PHP
javascript options属性集合操作代码
2009/12/28 Javascript
js图片模糊切换显示特效的方法
2015/02/17 Javascript
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
Vue.js组件tree实现省市多级联动
2016/12/02 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
BootstrapTable加载按钮功能实例代码详解
2017/09/22 Javascript
Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用
2019/11/20 Javascript
element 动态合并表格的步骤
2020/12/31 Javascript
python字符串连接的N种方式总结
2014/09/17 Python
python实现的系统实用log类实例
2015/06/30 Python
基于Python中求和函数sum的用法详解
2018/06/28 Python
Python实现合并excel表格的方法分析
2019/04/13 Python
基于python使用tibco ems代码实例
2019/12/20 Python
Python使用pyyaml模块处理yaml数据
2020/04/14 Python
使用Python画了一棵圣诞树的实例代码
2020/11/27 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
草莓网官网:StrawberryNET
2019/08/21 全球购物
香奈儿美国官网:CHANEL美国
2020/05/20 全球购物
光声世纪笔试题目
2012/08/25 面试题
区域销售经理岗位职责
2013/12/10 职场文书
2014年党务公开方案
2014/05/08 职场文书
教导主任个人总结
2015/03/03 职场文书
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js