【发布时间】:2019-03-22 10:27:49
【问题描述】:
我的目标是得出平均分
我正在使用 for 循环在 python 中执行 mysql 查询。此查询返回以下 id 以及一些值:
{'speed_range_id': 0, 'count(speed_range_id)': 511}
{'speed_range_id': 1, 'count(speed_range_id)': 1827}
{'speed_range_id': 2, 'count(speed_range_id)': 48}
{'speed_range_id': 4, 'count(speed_range_id)': 100}
{'speed_range_id': 8, 'count(speed_range_id)': 60}
我想做的是创建一个字典,将 id 映射到一个值,比如speed_range_id:1 = 15km/hr, speed_range_id:2 = 25 km, speed_range_id:4 = 50 km/hr 等等。
然后我想将count(speed_range_id)': 1827 乘以我给 id 的值,在这种情况下,1827*15 对每个其他 id 以此类推。然后我必须将每个 ID 的结果相加,然后除以计数的总和 1827+48+100+60=2035 以得出平均公里/小时
我一直在尝试为 speed_range_id 创建值字典并将它们存储在一个变量中。我认为我需要做一些 if 语句?
感谢任何帮助或指导。 我的 for 循环目前看起来像这样:
for rowdict in result:
cursor2.execute(speed_query, rowdict)
speed_result = cursor2.fetchall()
for rowdict2 in speed_result:
print(rowdict2)
【问题讨论】:
-
那么,如何将值映射到
speed_range_id到 -
@swhat 我会声明它们。对于这个例子,我会做 1 = 0、2 = 25、9 = 50、10 = 75、11 = 100、12 = 150 和 13 = 15。我想因为 1 等于我必须排除那个 id跨度>
-
所以你会有另一个字典,来自你的例子
{1:15, 2:25, 4:50}?
标签: python mysql loops for-loop