Я не испытываю в python, и у меня есть одна последняя модификация, которую мне нужно сделать для набора данных. Мои данные выглядят так:Вычислить промежутки значений в словаре
"bone": {
"SEV": 12,
"ER": 16,
"FAM": 177
},
"fracture": {
"SEV": 76
},
"chest pain": {
"ER": 6
},
Это большое количество ключей, каждый из которых имеет от 1 до 10 ярлыков. То, что я хочу сделать, это изменить число до вероятностей. Так, например,
"bone": {
"SEV": .05,
"ER": .07,
"FAM": .86
},
Итак, суммируйте общую сумму тегов, а затем разделите каждое значение тега на сумму. Я не уверен, как эффективно их выполнять.
EDIT: Код я пытаюсь и не работает
with open('probability.json') as data_file:
data = json.load(data_file)
loadedd = json.loads(data)
def calculate_percentage(labels):
total = float(sum(labels.values()))
return {k: v/total for k,v in labels.items()}
for section in loadedd:
section = calculate_percentage(section)
дает ошибку
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
TypeError: expected string or buffer
Там, кажется, не будет каких-либо кортежи в этом коде ... –
'данные ', вероятно, не является строкой, которая может использоваться с' json.loads'. – Daniel
@ Даниэль, данные имеют теги, каждая из которых имеет десятичное значение. –