我有两个词典,一个是从数据集中填充的,另一个是我手动创建的。我试图对它们进行一些数学运算,并将结果存储在另一个字典中。它在一个在线平台上工作,但是当我使用PyCharm运行Jupyter笔记本时,它不会返回正确的结果。知道为什么吗?
这是两个词典的创建,以及两个词典的输出(即词典的内容)
race_counts = {}
for race in race:
if race not in race_counts:
race_counts[race] = 1
else:
race_counts[race] += 1
mapping = {
'Asian/Pacific Islander': 15159516 + 674625,
'Native American/Native Alaskan': 3739506,
'Black': 40250635,
'Hispanic': 44618105,
'White': 197318956
}
race_counts词典:
{'Native American/Native Alaskan': 917,
'Black': 23296,
'White': 66237,
'Asian/Pacific Islander': 1326,
'Hispanic': 9022}
映射字典:
{'Native American/Native Alaskan': 3739506,
'Black': 40250635,
'White': 197318956,
'Asian/Pacific Islander': 15834141,
'Hispanic': 44618105}
这是我尝试的数学:
race_per_hundredk = {}
for race in race_counts:
race_per_hundredk[race] = (race_counts[race] / mapping[race]) * 100000
print(race_per_hundredk)
现在,我期待的正确输出是:
{'Asian/Pacific Islander': 8.374309664161762,
'Black': 57.8773477735196,
'Hispanic': 20.220491210910907,
'Native American/Native Alaskan': 24.521955573811088,
'White': 33.56849303419181}
但是,相反,我得到了这个:
{'Native American/Native Alaskan': 0,
'Asian/Pacific Islander': 0
'White': 0,
'Black': 0,
'Hispanic': 0}
键的顺序并不重要,但我不确定为什么这些值被返回为空。
非常感谢你们,伙计们。我发誓,当我对我正在做的事情有所了解时,我会开始回答一些问题并给予回馈......
答案 0 :(得分:0)
尝试float
施放:
race_per_hundredk = {}
for race in race_counts:
race_per_hundredk[race] = (race_counts[race] / float(mapping[race])) * 100000
print(race_per_hundredk)