我正在寻找编写python
代码以查找每种工作角色的平均工资
答案 0 :(得分:3)
我认为您是在练习如何使用Python编写此类代码?那么这种仅使用基本Python命令和类型的方法应该会有所帮助:
# 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)
哪些印刷品
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}
如果要使用高级模块,则应查看numpy
或pandas
。
答案 1 :(得分:2)
我正在寻找编写python代码以查找每种职位(开发人员,DevOps,分析师,测试人员)的平均工资
您可以为此使用pandas
,即:
import pandas as pd
df = pd.read_csv('emp_data.txt', sep=", ", engine='python')
print(df.groupby('POSITION').agg({'SALARY':'mean'}))
输出:
POSITION SALARY
Analyst 31000.000000
DevOps 34500.000000
Developer 35333.333333
Tester 31333.333333
print(df.groupby('POSITION').agg({'SALARY':'median'}))
输出:
POSITION SALARY
Analyst 28000
DevOps 35000
Developer 29000
Tester 33000
注意: