Добавьте столбец к исходному фрейму данных pandas после группировки по 2 столбцам и получения точечного произведения двух других столбцов. - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть следующий фрейм данных в pandas:

enter image description here

Я хочу добавить столбец Avg Price в исходный фрейм данных после того, как сгруппировать по (Дата, Эмитент) и затем взять точечное произведение весов и цены, так что это будет что-то вроде:

enter image description here

Есть ли способ сделать это без слияния или объединения? Какой самый простой способ сделать это?

1 Ответ

1 голос
/ 06 февраля 2020

В одну сторону, используя pandas.DataFrame.prod:

df["Avg Price"] = df[["Weights", "Price"]].prod(1)
df["Avg Price"] = df.groupby(["Date", "Issuer"])["Avg Price"].transform("sum")
print(df)

Вывод:

         Date Issuer  Weights  Price  Avg Price
0  2019-11-12      A      0.4    100      120.0
1  2019-15-12      B      0.5    100      100.0
2  2019-11-12      A      0.2    200      120.0
3  2019-15-12      B      0.3    100      100.0
4  2019-11-12      A      0.4    100      120.0
5  2019-15-12      B      0.2    100      100.0
...