我有一本看起來像這樣的字典:
'TICKET_URL/3250': {'cycle_time': 0, 'lead_time': 2496441},
'TICKET_URL/3323': {'cycle_time': 346087, 'lead_time': 508469},
'TICKET_URL/3328': {'cycle_time': 249802, 'lead_time': 521211},
'TICKET_URL/3352': {'cycle_time': 504791, 'lead_time': 504791},
'TICKET_URL/3364': {'cycle_time': 21293, 'lead_time': 21293},
'TICKET_URL/3367': {'cycle_time': 102558, 'lead_time': 189389},
'TICKET_URL/3375': {'cycle_time': 98735, 'lead_time': 98766}
}
我怎樣才能有效地計算平均值cycle_time和lead_time(獨立)。現在我正在對字典進行兩次迭代——一次 forcycle_time和一次 for lead_time。我可以一次性完成嗎?
目前:
average_cycle = (
sum([story["cycle_time"] for story in stories.values()]) / len(stories)
)
uj5u.com熱心網友回復:
如果你不介意熊貓,
import pandas as pd
pd.DataFrame(data.values()).mean().to_dict()
將產生:
{'cycle_time': 189038.0, 'lead_time': 620051.4285714285}
作為獎勵,它還可以很好地處理缺失值。
uj5u.com熱心網友回復:
count = len(stories.values())
cycle_total = 0
lead_total = 0
for story in stories.values():
cycle_total = story.get("cycle_time", 0)
lead_total = story.get("lead_time", 0)
cycle_avg = cycle_total / count
lead_avg = lead_total / count
uj5u.com熱心網友回復:
我真的沒有看到您當前實施的問題。我建議添加一個avg()函式來增強可讀性:
def avg(x):
return sum(x) / len(x)
avg_cycle = avg([story['cycle_time'] for story in stories.values()])
avg_lead_time = avg([story['lead_time'] for story in stories.values])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/488138.html
上一篇:將串列中的多個專案移動到索引
