I am looking to write a python code to find the average salary for each type of job role
解决方案
I think you are doing this as an exercise to learn how to code such things with Python? Then this approach which uses only the basic Python commands and types should be helpful:
# read file content
with open('emp_data.txt') as f:
file_content = f.readlines()
# collect data
data = {}
for i, line in enumerate(file_content):
if i == 0:
# discard header
continue
index, person, age, job, salary, years = line.split(",")
job = job.strip()
salary = int(salary.strip())
if not job in data:
# create new empty list if this is the first time this job appears
data[job] = []
data[job].append(salary)
print("data =", data)
# calculate mean
mean = {}
for job in data:
mean[job] = sum(data[job]) / len(data[job])
print("mean =", mean)
Which prints
data = {'Developer': [29000, 24000, 53000], 'Tester': [42000, 33000, 19000], 'Analyst': [21000, 44000, 28000], 'DevOps': [42000, 50000, 38000, 22000, 23000, 32000]}
mean = {'Developer': 35333.333333333336, 'Tester': 31333.333333333332, 'Analyst': 31000.0, 'DevOps': 34500.0}
If you want to use advanced modules, you should have a look at numpy or pandas.