You need to enable JavaScript to run this app. 如何对多维numpy数组的指定列进行平方运算?
优惠活动
大模型
产品
解决方案
定价
更多

如何对多维numpy数组的指定列进行平方运算?

问题原因

你写的切片X[:,-1:0]存在语法错误:numpy中切片的规则是start:end:step,默认步长为1,从索引-1(最后一列)到0(第一列)用正步长取值会返回空数组,自然赋值操作不会生效。

正确实现方案

方法1:直接索引最后一列(最常用)

如果不需要保留列的二维结构,直接用整数索引取最后一列即可:

X[:, -1] = X[:, -1] ** 2

方法2:保留二维列结构的写法

如果你需要保持切片结果为二维数组(比如后续矩阵运算要求维度匹配),可以用以下两种写法:

  • 写法1:用切片保留二维结构
X[:, -1:] = X[:, -1:] ** 2
  • 写法2:用newaxis扩展维度
X[:, -1, np.newaxis] = X[:, -1, np.newaxis] ** 2

验证示例

你可以运行以下代码验证效果:

import numpy as np
# 生成47行3列的测试数组
X = np.arange(47*3).reshape(47, 3)
# 对最后一列求平方
X[:, -1] = X[:, -1] ** 2
# 查看第一行最后一列的结果,原数值为2,平方后输出4
print(X[0, -1])

内容的提问来源于stack exchange,提问作者נתי איוב

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 12:27:04