Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何计算django一周内每小时的平均值?_Python_Django_Django Models_Django Rest Framework - Fatal编程技术网

Python 如何计算django一周内每小时的平均值?

Python 如何计算django一周内每小时的平均值?,python,django,django-models,django-rest-framework,Python,Django,Django Models,Django Rest Framework,我的任务是在一周内平均每小时获取一些数据 {'hour': 0, 'count': 70} {'hour': 1, 'count': 92} {'hour': 2, 'count': 94} {'hour': 3, 'count': 88} {'hour': 4, 'count': 68} {'hour': 5, 'count': 69} {'hour': 6, 'count': 70} {'hour': 7, 'count': 82} {'hour': 8, 'count': 91} {'ho

我的任务是在一周内平均每小时获取一些数据

{'hour': 0, 'count': 70}
{'hour': 1, 'count': 92}
{'hour': 2, 'count': 94}
{'hour': 3, 'count': 88}
{'hour': 4, 'count': 68}
{'hour': 5, 'count': 69}
{'hour': 6, 'count': 70}
{'hour': 7, 'count': 82}
{'hour': 8, 'count': 91}
{'hour': 9, 'count': 67}
{'hour': 10, 'count': 92}
{'hour': 11, 'count': 100}
{'hour': 12, 'count': 92}
{'hour': 13, 'count': 55}
{'hour': 14, 'count': 61}
{'hour': 15, 'count': 47}
{'hour': 16, 'count': 36}
{'hour': 17, 'count': 19}
{'hour': 18, 'count': 11}
{'hour': 19, 'count': 6}
{'hour': 20, 'count': 3}
{'hour': 21, 'count': 9}
{'hour': 22, 'count': 27}
{'hour': 23, 'count': 47}
以上数据是此查询的结果

result = Device.objects.filter(station__in=stations, created_at__range=(start_date, end_date)) \
            .extra({'hour': 'hour(created_at)'}) \
            .values('hour').annotate(count=Count('id')).order_by('hour')
结果按7天范围查询,我想做的是得到7天内每小时的平均值,例如0小时内的计数总数为70,然后我需要从7天开始对其进行平均


有什么建议吗?

也许你可以这样表达:

from django.db.models import F, ExpressionWrapper, DecimalField    

result = result.annotate(average=ExpressionWrapper(F('count')/7, output_field=DecimalField()))

@DeepakMahakale这与我需要的无关,有没有关于使用django orm的建议?不完全是这样,但你必须使用从日期中提取的小时数的平均函数,并按小时对它们进行分组。尝试在django orm中转换相同的内容