Как эффективно рассчитать долю агрегированного столбцаPython

Программы на Python
Anonymous
Как эффективно рассчитать долю агрегированного столбца

Сообщение Anonymous »

У меня есть следующий DataFrame, и я хочу вычислить «долю».

Код: Выделить всё

    import pandas as pd

d = {"col1":["A", "A", "A", "B", "B", "B"], "col2":["start_amount", "mid_amount", "end_amount", "start_amount", "mid_amount", "end_amount"], "amount":[0, 2, 8, 1, 2, 3]}
df_test = pd.DataFrame(d)

df_test["share"] = 0
for i in range(len(df_test)):
df_test.loc[i, "share"] = df_test.loc[i, "amount"] / df_test.loc[(df_test["col1"] == df_test.loc[i, "col1"]) & (df_test["col2"] == "end_amount"), "amount"].values
Это работает, но далеко не эффективно. Есть ли лучший способ выполнить мои расчеты?

Подробнее здесь: https://stackoverflow.com/questions/786 ... ted-column

Вернуться в «Python»