Код: Выделить всё
cid1Каждая комбинация cid1 и cid2 представляет собой рабочий набор с несколькими строками, в которых значения всех остальных столбцов различны. Я хочу отфильтровать df и получить df только с максимальными значениями в столбце cid3 для каждой комбинации cid1 и cid2. cid4 и следующие столбцы необходимо оставить без изменений.
Этот код помогает мне с одной частью моей задачи:
Код: Выделить всё
df = (df
.group_by("cid1", "cid2")
.agg(pl.max("cid3").alias("max_cid3"))
)
Но я не могу найти, как получить все остальные столбцы (
Код: Выделить всё
cid4, etcКод: Выделить всё
df = (df
.group_by("cid1", "cid2")
.agg(pl.max("cid3").alias("max_cid3"), pl.col("cid4"))
)
Как мне это сделать правильно? Может быть, у Polars есть другой способ сделать это, чем group_by?
В Pandas я могу это сделать:
Код: Выделить всё
import pandas as pd
import numpy as np
df["max_cid3"] = df.groupby(['cid1', 'cid2'])['cid3'].transform(np.max)
Но я не могу найти способ сделать это в Polars.
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/748 ... ith-polars
Мобильная версия