tutorial - pandas python
Python Pandas: ¿grupo por grupo y promedio? (2)
Tengo un marco de datos como este:
cluster org time
1 a 8
1 a 6
2 h 34
1 c 23
2 d 74
3 w 6
Me gustaría calcular el promedio de tiempo por organización por grupo.
Resultado Esperado:
cluster mean(time)
1 15 ((8+6)/2+23)/2
2 54 (74+34)/2
3 6
No sé cómo hacerlo en Pandas, ¿alguien puede ayudarme?
Si primero desea tomar la media en la combinación
[''cluster'', ''org'']
y luego nuevamente tomar mean en
cluster
grupos de
cluster
In [59]: (df.groupby([''cluster'', ''org''], as_index=False).mean()
.groupby(''cluster'')[''time''].mean())
Out[59]:
cluster
1 15
2 54
3 6
Name: time, dtype: int64
Si no quiere decir valores solo por
cluster
, entonces podría
In [58]: df.groupby([''cluster'']).mean()
Out[58]:
time
cluster
1 12.333333
2 54.000000
3 6.000000
Puede
groupby
en
[''cluster'', ''org'']
y luego tomar
mean()
In [57]: df.groupby([''cluster'', ''org'']).mean()
Out[57]:
time
cluster org
1 a 438886
c 23
2 d 9874
h 34
3 w 6
Simplemente haría esto, que literalmente sigue cuál era su lógica deseada:
df.groupby([''org'']).mean().groupby([''cluster'']).mean()