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 相关文章推荐
举例讲解Linux系统下Python调用系统Shell的方法
Nov 07 Python
python:socket传输大文件示例
Jan 18 Python
Python使用迭代器捕获Generator返回值的方法
Apr 05 Python
关于django 数据库迁移(migrate)应该知道的一些事
May 27 Python
python2和python3的输入和输出区别介绍
Nov 20 Python
简单了解Python matplotlib线的属性
Jun 29 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
Aug 23 Python
在Python中等距取出一个数组其中n个数的实现方式
Nov 27 Python
Python生成个性签名图片获取GUI过程解析
Dec 16 Python
Python中如何引入第三方模块
May 27 Python
图解Python中深浅copy(通俗易懂)
Sep 03 Python
python 中的jieba分词库
Nov 23 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
颠覆常识!无色透明的咖啡诞生了(中日双语)
2021/03/03 咖啡文化
php生成excel文件的简单方法
2014/02/08 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
2014/07/28 PHP
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
PHP Echo字符串的连接格式
2016/03/07 PHP
thinkPHP框架中layer.js的封装与使用方法示例
2019/01/18 PHP
jQuery 获取对象 定位子对象
2010/05/31 Javascript
JavaScript中继承的一些示例方法与属性参考
2010/08/07 Javascript
IE6下js通过css隐藏select的一个bug
2010/08/16 Javascript
js原型链原理看图说明
2012/07/07 Javascript
javascript数字格式化通用类 accounting.js使用
2012/08/24 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
2013/04/11 Javascript
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
2013/08/02 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
2014/01/06 Javascript
原生JavaScript实现异步多文件上传
2015/12/02 Javascript
JavaScript数组的一些奇葩行为
2016/01/25 Javascript
Javascript中的几种继承方式对比分析
2016/03/22 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
vue-cli中打包图片路径错误的解决方法
2017/10/26 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
通过实例解析vuejs如何实现调试代码
2020/07/16 Javascript
解决vue watch数据的方法被调用了两次的问题
2020/11/07 Javascript
python difflib模块示例讲解
2017/09/13 Python
单利模式及python实现方式详解
2018/03/20 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
pow在python中的含义及用法
2019/07/11 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
详解如何在css中引入自定义字体(font-face)
2018/05/17 HTML / CSS
HTML5实现移动端复制功能
2018/04/19 HTML / CSS
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
2016/11/22 面试题
报关简历自我评价怎么写
2013/09/19 职场文书
市三好学生主要事迹
2014/01/28 职场文书
本科生导师推荐信范文
2014/05/18 职场文书
投诉信范文
2015/07/02 职场文书
《灰雀》教学反思
2016/02/19 职场文书
python实现的web监控系统
2021/04/27 Python