如何得到"具体的" pandas中组内的列值

时间:2018-04-30 09:06:04

标签: pandas pandas-groupby

我有一个简单的测试代码如下,我想知道每个部门的平均工资。特别是"销售",但当我在" 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

1 个答案:

答案 0 :(得分:1)

df.groupby("Dept")["Salaries"].mean()['sales']

但你为什么要那样?它可能是CPU密集型的