Adicionando uma coluna nunique agregada e agrupada ao dataframe do pandas
Quero adicionar uma coluna agregada, agrupada e núnica ao meu quadro de dados do pandas, mas não agregar todo o quadro de dados. Estou tentando fazer isso em uma linha e evitar criar um novo objeto agregado e mesclar isso, etc.
meu df tem faixa, tipo e ID. Quero o número de IDs exclusivos para cada combinação de faixa / tipo como uma nova coluna na tabela (mas não reduza os combos de faixa / tipo no df resultante). Mesmo número de linhas, mais 1 coluna.
algo assim não está funcionando:
df['n_unique_id'] = df.groupby(['track', 'type'])['id'].nunique()
nem é
df['n_unique_id'] = df.groupby(['track', 'type'])['id'].transform(nunique)
este último funciona com algumas funções agregadoras, mas não com outras. o seguinte funciona (mas não faz sentido no meu conjunto de dados):
df['n_unique_id'] = df.groupby(['track', 'type'])['id'].transform(sum)
em R isso é feito facilmente em data.table com
df[, n_unique_id := uniqueN(id), by = c('track', 'type')]
obrigado!