【发布时间】:2021-09-21 15:01:04
【问题描述】:
我希望使用 Python 计算字典列表中的键值的百分比及其对应的计数以及值及其对应的计数。
使用下面的代码来提取键及其计数。需要帮助来扩展它以提取值及其相应的计数。
数据如下所示:
people = [
{"name": "Tom", "age": 10, "city": "NewYork"},
{"name": "Mark", "age": 5, "country": "Japan"},
{"name": "Pam", "age": 7, "city": "London"},
{"name": "Tom", "hight": 163, "city": "California"},
{"name": "Lena", "weight": 45, "country": "Italy"},
{"name": "Ben", "age": 17, "city": "Colombo"},
{"name": "Lena", "gender": "Female", "country": "Italy"},
{"name": "Ben", "gender": "Male", "city": "Colombo"},
]
def getKeyCount(lst):
out = {}
for d in lst:
for k in d.keys():
out[k] = out.get(k, 0) + 1
return out
def getValCount(lst):
out = {}
for d in lst:
for v in d.values():
out[v] = out.get(v, 0) + 1
return out
getKeyCount(people)
# {'name': 8, 'age': 4, 'city': 5, 'country': 3,
# 'hight': 1, 'weight': 1, 'gender': 2}
getValCount(people)
# {'Tom': 2, 'NewYork': 1, 'Mark': 1, 'Japan': 1, 'Pam': 1,
# 'London': 1, 'California': 1, etc.}
我想要这样的输出:
Name: 10
'Tom': 2, 'Mark': 3, 'Pam': 1,'Lena': 3, 'Ben': 2
City:4
'London': 1, 'California': 1, 'NewYork': 2
我是新手,谁能帮帮我?
【问题讨论】:
标签: python pandas list function dictionary