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中的一些类型转换函数小结
Feb 10 Python
HTML中使用python屏蔽一些基本功能的方法
Jul 07 Python
Python SqlAlchemy动态添加数据表字段实例解析
Feb 07 Python
Python爬取商家联系电话以及各种数据的方法
Nov 10 Python
使用Python制作简单的小程序IP查看器功能
Apr 16 Python
python如何爬取网站数据并进行数据可视化
Jul 08 Python
python定位xpath 节点位置的方法
Aug 27 Python
sklearn-SVC实现与类参数详解
Dec 10 Python
python 图像的离散傅立叶变换实例
Jan 02 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
Dec 07 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
Dec 07 Python
仅用几行Python代码就能复制她的U盘文件?
Jun 26 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 在线打包_支持子目录
2008/06/28 PHP
php中显示数组与对象的实现代码
2011/04/18 PHP
网页的分页下标生成代码(PHP后端方法)
2016/02/03 PHP
YII Framework框架教程之国际化实现方法
2016/03/14 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
2016/12/29 PHP
PHP code 验证码生成类定义和简单使用示例
2020/05/27 PHP
ExtJS GridPanel 根据条件改变字体颜色
2010/03/08 Javascript
jquery cookie的用法总结
2013/11/18 Javascript
一个JS函数搞定网页标题(title)闪动效果
2014/05/13 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
2016/08/04 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
2017/01/13 Javascript
JS轮播图中缓动函数的封装
2020/11/25 Javascript
JS返回页面时自动回滚到历史浏览位置
2018/09/26 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
vue实现歌手列表字母排序下拉滚动条侧栏排序实时更新
2019/05/14 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
在Python中编写数据库模块的教程
2015/04/29 Python
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
django用户注册、登录、注销和用户扩展的示例
2018/03/19 Python
Python爬虫使用脚本登录Github并查看信息
2018/07/16 Python
django框架模板中定义变量(set variable in django template)的方法分析
2019/06/24 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
基于python requests selenium爬取excel vba过程解析
2020/08/12 Python
前端面试必备之CSS3的新特性
2017/09/05 HTML / CSS
英语师范专业毕业生自荐信
2013/09/21 职场文书
销售员岗位职责范本
2014/02/03 职场文书
干部现实表现材料
2014/02/13 职场文书
《金色的脚印》教后反思
2014/04/23 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
学校运动会广播稿
2014/10/11 职场文书
中学教师个人总结
2015/02/10 职场文书
Python中rapidjson参数校验实现
2021/07/25 Python
Redis分布式锁的7种实现
2022/04/01 Redis
MySQL添加索引特点及优化问题
2022/07/23 MySQL