【发布时间】:2021-02-17 17:53:19
【问题描述】:
我有一个看起来像这样的架构,我想获得 journal,其中提到了唯一 drugs 的最大数量。
my_list = [{'atccode': 'A04AD',
'drug': 'DIPHENHYDRAMINE',
'mentioned_in': [{'date': '01/01/2019',
'journal': 'Journal of emergency nursing'},
{'date': '01/01/2019',
'journal': 'Journal of emergency nursing'
},
{'date': '1 January 2020',
'journal': 'Journal of emergency nursing'
},
{'date': '1 January 2020',
'journal': 'Journal of emergency nursing'},
{'date': '1 January 2020',
'journal': 'Journal of emergency nursing'
}]},
{'atccode': 'S03AA',
'drug': 'TETRACYCLINE',
'mentioned_in': [{'date': '02/01/2020',
'journal': 'American journal of veterinary research'
},
{'date': '2020-01-01',
'journal': 'Psychopharmacology'}]},
{'atccode': 'V03AB',
'drug': 'ETHANOL',
'mentioned_in': [{'date': '2020-01-01',
'journal': 'Psychopharmacology'
}]},
{'atccode': 'A01AD',
'drug': 'EPINEPHRINE',
'mentioned_in': [{'date': '01/02/2020',
'journal': 'The journal of allergy and clinical '
'immunology. In practice'},
{'date': '01/03/2020',
'journal': 'The journal of allergy and clinical '
'immunology. In practice'
},
{'date': '27 April 2020',
'journal': 'Journal of emergency nursing'
}]}]
所以结果看起来像这样:
{
"journal":"Psychopharmacology",
"unique_drug_mentions" : 2
},
{
"journal" : "Psychopharmacology",
"unique_drug_mentions":2
}
到目前为止我一直在尝试的是
from collections import Counter
mentions_counts = Counter(d['journal'] for d in my_list)
most_common = {'unique_drug_mentions': mentions_counts.most_common(1)[0][0], "journal" :d["journal"]}
但是没有用。
【问题讨论】:
-
在您的规范中“独特”的药物意味着什么?
-
@joao 我的意思是不会有重复的计数
-
请edit您的问题,并提供更多示例输入数据和处理后产生的所需输出。
-
“没有重复计数”不够具体。每个期刊的drup计数,在所有期刊中,还是什么?再次展示一些更多样化的输入和预期结果。
标签: python python-3.x dictionary count nested