Учитывая набор данных из миллиона данных, я хочу рассчитать среднюю цену предметов. Некоторые элементы itemID реплицируются, и это ключ.Рассчитать средние кортежи в одном миллионном наборе данных
К примеру, учитывая следующие словари:
res = {
'155': ['3','4','5'],
'222': ['1'],
'345': ['6','8','10']
.
(+ 1 million more lines)
.}
Я хочу, чтобы рассчитать среднюю цену для каждого Itemid и возвращает словарь. Ожидаемый результат будет:
{'155': ['4'],
'222': ['1'],
'345': ['8']
.
.
.}
, где целое число рядом с itemid - это средняя цена.
Я хочу распаковать список res
и рассчитать среднюю цену перед возвратом результата в качестве словаря.
for x, y in res:
// calculate average and add into new dictionary
Однако терминал показывает, что существует проблема:
----> 9 for k, l in res:
10 print(k)
11
ValueError: too many values to unpack (expected 2)
я должен перебрать 1 млн наборов данных, чтобы получить среднюю цену? Любая помощь будет отличной!
'(6 + 8 + 10)/3' равно 8. Можете ли вы объяснить,' 345: 10'? – TigerhawkT3
И вы уверены, что получаете именно этот «ValueError»?Я получаю только это, если сменить эти целые ключи на строки. – TigerhawkT3
Это действительно не вызывает «ValueError». Измените свой вопрос и поставьте словарь *, как вы использовали его в своем коде *. Неоднозначность никому не помогает. –