数据挖掘以找到收入最高的员工

时间:2017-12-05 03:29:03

标签: python-3.x

我有一个我用于此代码的数据电子表格。它有很多员工及其基本工资和职位。我试图找到收入最高的人并打印出这些信息。它没有给我那个,而是给了我列表中的最后一个人。它也只给我最后一个薪水。而不是打印'209318'它只打印'8'

def main():
  my_file = open('IndianaSalaries.csv', 'r')

  list_of_lines = my_file.read().splitlines()

  for i in range(1, len(list_of_lines)):
    one_line = list_of_lines[i]
    line_items = one_line.split(',')
    base_pay = line_items[2]
    highest = max(base_pay)

    first_name = line_items[1]
    last_name = line_items[0]
    university = line_items[3]
    position = line_items[4]

  print("The highest paid person is", first_name, last_name, "with the position of",position,"at",university,"making a base salary of $",highest)

main()

以下是示例数据:姓氏,名字,基本工资,大学或办公室,职位,,, Aaron,Julia J,97783,Clarion,Chair ,,, Aaron,Paul Neal,23961,Shippensburg,Custodial Worker 1 ,,, Aaron,William F,11199,Clarion,讲师,,, Abbondanza,Lawrence A. Jr,111099,Edinboro,讲师,PT Temp ,, Abbott,Ann,107870,West Chester,主席,,, Abbott,Barbara E.,31687,Edinboro,财政助理,,, Abbott,Kristen Kyle,44795,Clarion,讲师,,, Abbott,Mary V,35071,Edinboro,财政助理,,,

1 个答案:

答案 0 :(得分:0)

您基本上只是在遍历数据。您实际上并没有找到具有最高salay的行。

有很多方法可以解决这个问题。您可以做的是有两个变量,一个用于存储最高工资(称之为max_pay),另一个用于存储哪个员工(或行)具有该最高工资(row_max) 。

你能做的是:

  1. 将max_pay初始化为一个非常低的数字,比如0,

  2. 在循环中,检查max_pay是否低于行的基本工资。如果是,那么您找到了一个薪水较高的行(或员工),并将该行号存储在row_max中。如果没有,则转到下一次迭代。

  3. 循环后,只需打印出行号({1}}

  4. 的行(或员工)