【发布时间】:2019-03-14 09:12:33
【问题描述】:
所以我有一些 .csv 数据文件需要清理。其中一行数据的示例是:
u[i] = {'age': '44', 'salary': '117681.0', 'suburb': None, 'language': 'English'}
我已经过滤掉了我不想要的数据并返回了多行相关的字典。例如:
{'age': '44', 'salary': '117681.0', 'suburb': None}
{'age': '34', 'salary': '56456.0', 'suburb': 'Frankston'}
{'age': '37', 'salary': '59370.0', 'suburb': 'Richmond'}
{'age': '44', 'salary': '91399.0', 'suburb': 'Collingwood'}
{'age': '36', 'salary': '74437.0', 'suburb': 'Toorak'}
{'age': '41', 'salary': '89121.0', 'suburb': 'Frankston'}
我现在想总结这些字典中的薪水以找到平均薪水,但我一生都无法弄清楚。
我尝试仅隔离工资值并使用计数器,但我似乎无法让它发挥作用。我也尝试过制作可以循环的列表,但我似乎无法在一个列表中获取所有值。我的问题是,当我隔离这些值时,它们是并行值/列表,我不知道如何使用它。
非常感谢任何帮助,这让我发疯了!谢谢!
到目前为止,这是我的代码,但在这个阶段我还没有真正值得一看的东西:
def average_salary(data, lower_age, upper_age):
u = dict(sorted(data_cleaned.items()))
count = 0
for i in u:
age = u[i]['age']
sal = u[i]['salary']
tally = 0
if age is not None and sal is not None and lower_age < float(age) < upper_age:
tally += float(u[i]['salary'])
print(u[i]['salary'])
【问题讨论】:
-
虽然@blue_note 解决方案适用于您的特定问题,但您似乎想对来自
csv的表格数据执行操作。因此,您可能需要研究一个更专业的库来执行此类操作,例如pandas或numpy。
标签: python list loops dictionary counter