我有一个数据框,其中包含指定小时工资的工资列和指定员工是否在工会中的工会列。还有其他变量,但它们现在无关紧要。我正试图找到工会员工的平均工资。我编写的代码提供了一个关于员工是否在工会中的真/假列表。但是,我不知道如何应用该清单以获得平均工资。提前感谢您的帮助。
#Read cps.csv file
import pandas as pd
cps_df = pd.read_csv('cps.csv')
cps_df
#Function to determine whether or not an employee is in a union
def hourly_wage(x):
""" return true if union else false """
if x['union'] == 'Union':
return True
else:
return False
#Function to create a list of union vs non-union
def union_list(y):
""" return a list determining union vs non-union """
return [hourly_wage(x) for index, x in y.iterrows()]
#Print list
%time
print(union_list(cps_df))
答案 0 :(得分:0)
我想你可以用更方便的方式做到这一点。熊猫非常适合这样的事情。
我们假设工资栏是“工资”。然后代码将如下所示:
import pandas as pd
cps_df = pd.read_csv('cps.csv')
print('Union workers mean wage: ', cps_df[cps_df.union == 'Union'].wage.mean())
它本质上是做什么的: 1.选择所有工会工人(cps_df [cps_df.union ==' Union']) 2. Aplies mean()函数与他们的工资(.wage.mean())
希望这会有所帮助。