我有一个简单的测试代码如下,我想知道每个部门的平均工资。特别是"销售",但当我在" Dept"上使用groupby时并且意味着我得到了所有部门的意思。
df = pd.DataFrame({"Dept":["sales", "engg", "mkt", "sales", "engg","mkt", "sales", "sales", "engg", "mkt"],"Salaries": [10,5,20,15,60,25,35,40,10,20]})
df.groupby("Dept")["Salaries"].mean()
Dept
engg 25.000000
mkt 21.666667
sales 25.000000
Name: Salaries, dtype: float64
但是,如果我想获得"销售"单独平均,我在下面做。我想知道是否有更好的方法来使用groupby做同样的事情并提取特定列值的平均值(在这种情况下"销售")
df[df["Dept"]=="sales"]["Salaries"].mean()
25.0
答案 0 :(得分:1)
df.groupby("Dept")["Salaries"].mean()['sales']
但你为什么要那样?它可能是CPU密集型的