我有以下数据:
Positions, Department, Salaries
Teacher, 600101, $1000
Janitor, 600230, $500
Principle, 600154, $1500
Secretary, 600342, $750
Manager, 600411, $2000
Teacher, 600105, $1200
Secretary, 600311, $1000
Teacher, 600300, $4000
我试图把从6001x开始的部门的所有工资相加,然后再把从6002xx到6004xx开始的部门的所有工资相加
我有这个,而且有点用
def get_salaries(desc)
lineAmount = df.loc[(df['Position'] == desc) & (df['Department'] < 600200) & (df['Department'] >= 600100)]['Salaries'].values[0]
return lineAmount
totalSalaries = 0
totalSalaries += get_salaries('Teacher")
print(totalSalaries)
这将只返回第一份工资。如果去掉.values[0],那么它将返回正确部门的教师工资,但它也会在一个输出中返回所有这些工资以及索引,并且不会将它们相加。我需要能够从6001x开始的部门的教师工资中加上1000美元和1200美元,我就是想不通。感谢您的帮助
您可以为60001x和6002xx中的每一个定义一个新列作为部门id,然后使用groupby:
相关问题 更多 >
编程相关推荐