簡體   English   中英

如何在熊貓數據框中使用分組依據或數據透視表查找均值?

[英]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個工作,這些工作用於計算平均總薪酬福利。 所以你的工作流程是

  1. 只保留至少有500條記錄的職位
  2. 取得前10個職位
  3. 計算平均總工資

但是根據您的問題,您的工作流程應該是

  1. 只保留至少有500條記錄的職位
  2. 計算步驟1中的工作平均總工資)
  3. 按升序排列平均總工資
  4. 結果數據幀的前10行將是您要查找的內容

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM