所以我有一些 .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'])
请您参考如下方法:
在列表中收集薪水
salaries = [float(my_dict['salary']) for my_dict in my_dicts]
average = sum(salaries) / len(salaries)
