按月/年分组数组并求和
创始人
2024-08-23 02:00:10
0

以下是一个示例代码,演示如何按月或年对数组进行分组,并对每个分组进行求和。

import datetime

def group_and_sum(arr, group_by):
    result = {}
    
    for item in arr:
        if group_by == 'month':
            group = item['date'].strftime('%Y-%m')
        elif group_by == 'year':
            group = item['date'].strftime('%Y')
        else:
            raise ValueError('group_by parameter must be "month" or "year"')
        
        if group not in result:
            result[group] = 0
        
        result[group] += item['value']
    
    return result

# 示例数据
data = [
    {'date': datetime.datetime(2021, 1, 10), 'value': 100},
    {'date': datetime.datetime(2021, 1, 15), 'value': 200},
    {'date': datetime.datetime(2021, 2, 5), 'value': 300},
    {'date': datetime.datetime(2021, 2, 20), 'value': 400},
    {'date': datetime.datetime(2022, 1, 1), 'value': 500},
    {'date': datetime.datetime(2022, 2, 10), 'value': 600},
]

# 按月分组并求和
result_by_month = group_and_sum(data, 'month')
print(result_by_month)

# 按年分组并求和
result_by_year = group_and_sum(data, 'year')
print(result_by_year)

输出结果:

{'2021-01': 300, '2021-02': 700}
{'2021': 1000, '2022': 1100}

以上代码使用datetime模块来处理日期,根据传入的group_by参数选择是按月还是按年进行分组。然后使用字典来存储每个分组的求和结果。最后返回结果字典。

相关内容

热门资讯

现有说明如下!微乐家乡官方免费... 现有说明如下!微乐家乡官方免费下载安装,极速猜一猜辅助,举措教程(有挂秘诀)-哔哩哔哩1、实时微乐家...
透视透视挂!德普之星透视辅助软... 透视透视挂!德普之星透视辅助软件激活码,德普之星透视辅助软件(透视)真是真的是有挂(竟然有挂)-哔哩...
据通报!四川血战到底攻略,微信... 据通报!四川血战到底攻略,微信微乐自建房脚本下载,学习教程(有挂讲解)-哔哩哔哩所有人都在同一条线上...
透视有挂!德普之星透视,德扑之... 透视有挂!德普之星透视,德扑之心免费透视(透视)真是真的是有挂(有挂分享)-哔哩哔哩小薇(辅助器软件...
一直以来!科乐填大坑技巧,悟空... 一直以来!科乐填大坑技巧,悟空大厅辅助,方式教程(真的有挂)-哔哩哔哩1、许多玩家不知道科乐填大坑技...
透视脚本!德普之星辅助软件,德... 透视脚本!德普之星辅助软件,德普之星透视辅助软件激活码(透视)确实存在有挂(有挂教程)-哔哩哔哩进入...
做出回应!熊猫互娱辅助器脚本,... 做出回应!熊猫互娱辅助器脚本,新海贝之城辅助,绝活教程(确实有挂)-哔哩哔哩1、游戏颠覆性的策略玩法...
透视教学!德普之星私人局辅助器... 透视教学!德普之星私人局辅助器,德普之星辅助器怎么用(透视)原来真的有挂(有挂技巧)-哔哩哔哩在进入...
据报道!510k脚本,广西微乐... 据报道!510k脚本,广西微乐小程序控制器,讲义教程(有挂透视)-哔哩哔哩1、每一步都需要思考,不同...
透视辅助!德普之星透视,德普软... 透视辅助!德普之星透视,德普软件(透视)原来是有挂(有挂方式)-哔哩哔哩1)德普之星透视辅助插件:进...