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 分析Nginx访问日志并保存到MySQL数据库实例
Mar 13 Python
Python学习笔记整理3之输入输出、python eval函数
Dec 14 Python
Python爬虫爬验证码实现功能详解
Apr 14 Python
python入门教程 python入门神图一张
Mar 05 Python
Django使用详解:ORM 的反向查找(related_name)
May 30 Python
Pycharm设置utf-8自动显示方法
Jan 17 Python
深入理解Django-Signals信号量
Feb 19 Python
详解Python做一个名片管理系统
Mar 14 Python
基于Python中的yield表达式介绍
Nov 19 Python
Python安装OpenCV的示例代码
Mar 05 Python
python爬虫 requests-html的使用
Nov 30 Python
python读取并查看npz/npy文件数据以及数据显示方法
Apr 14 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
DOTA2【瓜皮时刻】Vol.91 RTZ山史最惨“矿难”
2021/03/05 DOTA
基于PHP读取csv文件内容的详解
2013/06/18 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
THINKPHP项目开发中的日志记录实例分析
2014/12/01 PHP
使用php+swoole对client数据实时更新(一)
2016/01/07 PHP
JavaScript 创建对象
2009/07/17 Javascript
javascript options属性集合操作代码
2009/12/28 Javascript
js验证是否为数字的总结
2013/04/14 Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
2014/01/23 Javascript
js打造数组转json函数
2015/01/14 Javascript
谈谈impress.js初步理解
2015/09/09 Javascript
ros::spin() 和 ros::spinOnce()函数的区别及详解
2016/10/01 Javascript
AngularJS Select(选择框)使用详解
2017/01/18 Javascript
Angular4表单验证代码详解
2017/09/03 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
python实现多线程采集的2个代码例子
2014/07/07 Python
Python合并字符串的3种方法
2015/05/21 Python
Django在win10下的安装并创建工程
2017/11/20 Python
用TensorFlow实现lasso回归和岭回归算法的示例
2018/05/02 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
2019/02/22 Python
Python画图实现同一结点多个柱状图的示例
2019/07/07 Python
Python 共享变量加锁、释放详解
2019/08/28 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
HTML5 canvas基本绘图之绘制线条
2016/06/27 HTML / CSS
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
乐高瑞士官方商店:LEGO CH
2020/08/16 全球购物
教师实习期自我鉴定
2013/10/06 职场文书
电子商务专业自我鉴定
2013/12/18 职场文书
员工培训邀请函
2014/01/11 职场文书
募捐感谢信
2015/01/22 职场文书
钱塘江大潮导游词
2015/02/03 职场文书
活动总结模板大全
2015/05/11 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python
Python制作表白爱心合集
2022/01/22 Python