如何在保持原有顺序的前提下更新numpy数组中的非连续分组数据
符合Python风格的实现方案
推荐使用向量化运算实现,全程无显式循环,代码简洁执行效率高:
import numpy as np import pandas as pd # 定义分组与乘数的映射规则 multiplier_map = {'A': 2, 'B': 4} # 生成每个位置对应的乘数数组,直接与target_data逐元素相乘即可得到结果 multipliers = input_data['group_name'].map(multiplier_map).to_numpy() updated_target = target_data * multipliers # 如果需要直接修改原target_data,可替换为: # target_data *= multipliers
注意事项
如果你的input_data里group_name列的字符串实际包含单引号(即值为'A'而非A),只需把映射字典的键对应修改为"'A'"、"'B'"即可适配。
内容的提问来源于stack exchange,提问作者user3104352
相关产品推荐
相关产品推荐

