У меня есть переменные, подобные этой
a = pd.DataFrame(np.array([[1, 1, 2, 3, 2], [2, 2, 3, 3, 2], [1, 2, 3, 2, 3]]))
b = np.array([0.1, 0.3, 0.5, 0.6, 0.2])
Дисплей a
0 1 2 3 4
0 1 1 2 3 2
1 2 2 3 3 2
2 1 2 3 2 3
Дисплей b
[0.1 0.3 0.5 0.6 0.2]
Я хочу получить сумму значений в b
на основе значений a
, где индексы a
служат индексами для значений в b
.
Окончательный результат , который Я хочу, вот так.
0.4 0.7 0.6
0 0.5 0.11
0.1 0.9 0.7
Как получить первый ряд подробно
0.4 0.7 0.6
так что 0.4
получается от 0.1 + 0.3
, основываясь на числе 1 в первой строке a
, т. е. поскольку индексы равны 0
и 1
, мы добавляем b[0]
и b[1]
0.7
получается из 0.5 + 0.2
, на основе числа 2, где индексы 2
и 4
, поэтому мы добавили b[2] + b[4]
0.6
на основе числа 3, которое просто b[3]
, потому что индекс 3