import polars as pl
df = pl.DataFrame(
{
'Letter': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'D','D','E'],
'Value': [1, 2, 3, 4, 5, 6, 7, 8, 9,10]
}
)
Quero agrupar Letter
e coletar seus correspondentes Value
em uma lista.
Pergunta relacionada ao Pandas: Como agrupar linhas do dataframe em uma lista no pandas groupby
Eu sei que o código do pandas não funcionará aqui:
df.group_by('a')['b'].apply(list)
TypeError: 'GroupBy' object is not subscriptable
A saída será:
| A ┆ [1, 2] │
│ B ┆ [3, 4, 5] │
│ C ┆ [6, 7] │
│ D ┆ [8, 9] │
│ E ┆ [10] |
Muito simples: se você não especificar uma função de agregação em uma
pl.DataFrame.group_by().agg()
construção, todos os valores de um grupo serão agregados em uma lista.Você poderia fazer isso.
maintain_order=True
é necessário se você quiser que a ordem dos grupos seja consistente com os dados de entrada .Isto irá imprimir