[英]How to find mean with group by or pivot table in pandas dataframe?
我正在使用salaries.csv數據集,您可以找到https://www.kaggle.com/kaggle/sf-salaries/data我嘗試查找具有500個以上數據點的職位,然后計算每個職位的平均TotalPayBenefits職稱。 輸出是打印收入最高的前10個職位。
我做了什么,
salaries = pd.read_csv('Salaries.csv')
salaries = salaries.drop(["Id", "Notes", "Status", "Agency"], axis = 1)
salaries = salaries.dropna()
salaries.head()
jobtitlelist = (salaries.JobTitle.value_counts()>500)[0:10]
data_10jobtitle = salaries[salaries.JobTitle.isin(jobtitlelist.index)]
avgsalary_10jobtitle = data_10jobtitle.groupby(by=data_10jobtitle.JobTitle).TotalPayBenefits.mean()
print(avgsalary_10jobtitle)
我以為我想念一些我找不到確切輸出的小東西。
您需要更改此行
jobtitlelist = salaries.JobTitle.value_counts()[(salaries.JobTitle.value_counts()>500)][0:10]
在這一行:
jobtitlelist = (salaries.JobTitle.value_counts()>500)[0:10]
您首先找到至少具有500條記錄的工作,然后再選擇前10個工作,這些工作用於計算平均總薪酬福利。 所以你的工作流程是
但是根據您的問題,您的工作流程應該是
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.