我有以下数据框
>>> 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
with as1_X
并将该值放入as1_X
,类似地对于ap2_X
with as2_X
。这里的通用标识符是后面的数字ap
or as
.
最终的 DataFrame 应该如下所示
>>> 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
我知道我可以循环遍历列并乘以列名称中具有相同第三个字符的列,但我想知道是否有更“熊猫”的方式来执行此操作?
更新:列名称中的数字 ID 可以是多位数字(例如:1、2、...、12、...、100)。所以基本上,ID 是“ap”或“as”和“_X”之间的数字。