Python中如何修改满足条件的NumPy数组元素并乘以1.2
实现方法
首先修正你现有代码的条件偏差:你需求中筛选的是薪资小于200000的记录,现有代码里np.where的条件写为了Sales_Salary<20000,先把这部分参数调整为正确阈值。
NumPy支持直接通过索引批量修改数组对应位置的数值,拿到筛选出的索引后直接赋值即可,有两种常用实现方案:
- 方案1:沿用你生成索引数组的逻辑,直接对索引位置做乘法更新
import numpy as np # 生成符合要求的索引数组 index = np.where(Sales_Salary < 200000) # 对索引对应位置批量乘1.2更新 Sales_Salary[index] *= 1.2 # 验证更新结果 print(Sales_Salary[index]) - 方案2:省略显式生成索引的步骤,直接用布尔索引实现,代码更简洁
# 无需调用np.where,直接通过布尔掩码筛选后更新 Sales_Salary[Sales_Salary < 200000] *= 1.2
两种方案效果完全一致,最终都会把所有低于200000的薪资调整为原数值的1.2倍。
内容的提问来源于stack exchange,提问作者Jon
相关产品推荐
相关产品推荐

