python 实现分组求和与分组累加求和代码

 更新时间:2020年05月18日 10:16:26   作者:开心果汁  
这篇文章主要介绍了python 实现分组求和与分组累加求和代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

我就废话不多说了,大家还是直接看代码吧!

# -*- 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学习笔记嵌套循环详解

    这篇文章主要介绍了Python学习笔记嵌套循环详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • Python入门教程(三十)Python的PIP

    Python入门教程(三十)Python的PIP

    这篇文章主要介绍了Python入门教程(三十)Python的PIP,PIP是Python 包或模块的包管理器,本章带你们看一下如何使用PIP命令,需要的朋友可以参考下
    2023-04-04
  • 如何将Pycharm中调整字体大小的方式设置为

    如何将Pycharm中调整字体大小的方式设置为"ctrl+鼠标滚轮上下滑"

    这篇文章主要介绍了如何将Pycharm中调整字体大小的方式设置为"ctrl+鼠标滚轮上下滑",本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Python Django中间件详细介绍

    Python Django中间件详细介绍

    Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。中间件的设计为开发者提供了一种无侵入式的开发方式,增强了Django框架的健壮性
    2022-10-10
  • Python中xml和dict格式转换的示例代码

    Python中xml和dict格式转换的示例代码

    最近在做APP的接口,遇到XML格式的请求数据,费了很大劲来解决,下面小编给大家分享下Python中xml和dict格式转换问题,感兴趣的朋友跟随小编一起看看吧
    2019-11-11
  • Python解析excel文件存入sqlite数据库的方法

    Python解析excel文件存入sqlite数据库的方法

    最近工作中遇到一个需求,需要使用Python解析excel文件并存入sqlite,本文就实现的过程做个总结分享给大家,文中包括数据库设计、建立数据库、Python解析excel文件、Python读取文件名并解析和将解析的数据存储入库,有需要的朋友们下面来一起学习学习吧。
    2016-11-11
  • Python实现PDF与多种图片格式之间互转(PNG, JPG, BMP, EMF, SVG)

    Python实现PDF与多种图片格式之间互转(PNG, JPG, BMP, EMF,&nb

    PDF和图片是我们日常生活和工作中常用的文件格式,有时候,我们可能需要将PDF和图片进行格式互转来满足不同的应用场景和使用需求,这篇文章将探讨如何使用Python实现PDF与多种图片格式之间的相互转换,需要的朋友可以参考下
    2025-03-03
  • python分割文件的常用方法

    python分割文件的常用方法

    这篇文章主要介绍了python分割文件的常用方法,包括指定分割大小、按行分割与分割合并等技巧,非常实用,需要的朋友可以参考下
    2014-11-11
  • Django3.0 异步通信初体验(小结)

    Django3.0 异步通信初体验(小结)

    这篇文章主要介绍了Django3.0 异步通信初体验,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • python3.7环境下sanic-ext未生效踩坑解析

    python3.7环境下sanic-ext未生效踩坑解析

    这篇文章主要为大家介绍了python3.7环境下sanic-ext未生效踩坑解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01

最新评论