Мне нужно вычислить столбец на основе другой строки. По сути, я хочу, чтобы мой new_column был суммой «base_column» для всех строк с одинаковым идентификатором.
В настоящее время я делаю следующее (но не очень эффективно), какой самый эффективный способ добиться этого?
def calculate(x):
filtered_df = df[["id"] == dataset.at[x.name, "id"]] # in fact my filter is more complex basically same id and date in the last 4 weeks
df.at[x.name, "new_column"] = filtered_df["base_column"].sum()
df.apply(calculate)