You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Numpy数组复制最后一列失效问题求助

问题分析与解决:Numpy数组切片未包含最后一列

问题出在你使用的切片3:-1上——Numpy的切片遵循左闭右开规则,也就是切片[start:end]会包含start索引的元素,但不包含end索引的元素。

在你的7列数组中,列索引范围是0到6,-1对应的是最后一列的索引(6),所以3:-1实际选取的是索引3到5的元素(包含3,不包含6),自然就漏掉了最后一列。

解决方法

把切片改成3:即可,省略end参数时,切片会自动延伸到数组的最后一个元素:

import numpy as np

A = np.random.rand(3,7)
B = np.ones([3,7])
# 用3:代替3:-1,包含从索引3到最后一列的所有元素
B[2,3:] = A[2,3:]

print("A")
print(A)
print("B")
print(B)

修改后,B数组第2行的索引3到最后一列都会被A的对应值覆盖,包括最后一列。

另外,你也可以显式指定结束索引为数组的列数(比如3:7),但3:的写法更简洁通用,不需要依赖具体的列数。

内容的提问来源于stack exchange,提问作者Sumith Yesudasan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 19:20:11