У меня есть следующий DataFrame
>>> df = pd.DataFrame({'ap1_X':[1,2,3,4], 'as1_X':[1,2,3,4], 'ap2_X':[2,2,2,2], 'as2_X':[3,3,3,3]})
>>> df
ap1_X as1_X ap2_X as2_X
0 1 1 2 3
1 2 2 2 3
2 3 3 2 3
3 4 4 2 3
Я хотел бы умножить ap1_X
на as1_X
и поместить это значение в as1_X
, аналогично для ap2_X
с as2_X
.Общим идентификатором здесь является число, которое следует за ap
или as
.
Конечный фрейм данных должен выглядеть следующим образом
>>> df
ap1_X as1_X ap2_X as2_X
0 1 1 2 6
1 2 4 2 6
2 3 9 2 6
3 4 16 2 6
Я знаю, что могу циклически проходить по столбцам иумножить столбцы, имеющие один и тот же 3-й символ в имени столбца, но мне было интересно, есть ли более "панды" способ сделать это?
ОБНОВЛЕНИЕ: ИД числа в имени столбца может состоять из нескольких цифр(например: 1, 2, ..., 12, ..., 100).Таким образом, в основном, идентификатор - это число между «ap» или «as» и «_X».