如何从python文件中查找每个职位的平均工资

时间:2018-12-13 23:33:50

标签: python pandas average

我正在寻找编写python代码以查找每种工作角色的平均工资

2 个答案:

答案 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}

如果要使用高级模块,则应查看numpypandas

答案 1 :(得分:2)

  

我正在寻找编写python代码以查找每种职位(开发人员,DevOps,分析师,测试人员)的平均工资


您可以为此使用pandas,即:

import pandas as pd
df = pd.read_csv('emp_data.txt', sep=", ", engine='python')

mean

print(df.groupby('POSITION').agg({'SALARY':'mean'}))

输出:

POSITION   SALARY            
Analyst    31000.000000
DevOps     34500.000000
Developer  35333.333333
Tester     31333.333333

median

print(df.groupby('POSITION').agg({'SALARY':'median'}))

输出:

POSITION    SALARY
Analyst     28000
DevOps      35000
Developer   29000
Tester      33000

注意: