如何使用NumPy将数组第二列更新为对应值的平方根
NumPy实现数组第二列替换为对应值平方根的操作方法
- 注意索引规则:NumPy数组的行列索引均从0开始计数,日常表述的「第二列」对应的索引值为1,操作时注意不要错位选到第一列或者第三列。
- 实现逻辑用NumPy原生的向量化操作即可,不需要写循环遍历逐行修改,执行效率更高。
首先导入NumPy库:import numpy as np
我们可以先构造一个测试数组验证效果:
# 初始化3行3列的测试数组 demo_arr = np.array([ [4, 9, 2], [16, 25, 3], [36, 49, 5] ])
核心更新操作只有一行,通过切片定位整列后直接赋值即可:
# : 代表选中所有行,1代表选中索引为1的列(即第二列) # np.sqrt()会对传入的数组元素逐位计算平方根 demo_arr[:, 1] = np.sqrt(demo_arr[:, 1])
执行完成后打印数组,可以看到第二列已经完成替换:
输出结果:
[[ 4. 3. 2.] [16. 5. 3.] [36. 7. 5.]]
额外提醒:如果待处理的第二列中存在负数,直接调用np.sqrt()会得到nan空值,操作前建议先校验列内数值范围,避免影响后续计算。
内容的提问来源于stack exchange,提问作者Frank xx
相关产品推荐
相关产品推荐

