como calcular a média e a mediana com base no rótulo de uma coluna em python
Aug 21 2020
Eu tenho um grande quadro de dados que mostra o seguinte:
price type status
2 shoes none
3 clothes none
6 clothes none
3 shoes none
4 shoes none
6 shoes none
2 clothes none
3 shoes none
6 clothes none
8 clothes done
Basicamente, quero calcular a média e a mediana com base no "tipo" sempre que o "status" for escrito concluído. Até agora, o que fiz foi criar primeiro um grupo com base no status "concluído", depois calculo a média e a mediana do grupo como no script abaixo:
g = df['status'].eq('done').iloc[::-1].cumsum().iloc[::-1]
grouper = df.groupby(g)
df_statistics = grouper.agg(
mean = ('price', 'mean')
,median = ('price', 'median')
)
df_freq = df.groupby(g).apply(lambda x: x['price'].value_counts().idxmax())
Como posso adicionar mais um parâmetro para o "tipo", então o script vai estimar a mediana de cada grupo com base também no "tipo".
Obrigado
Respostas
1 jezrael Aug 21 2020 at 17:06
Acho que você precisa passar o nome da coluna para listar e depois para groupby:
grouper = df.groupby([g, 'type'])
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas