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

Numpy二维数组仅修改第二列后变一维,如何保留原二维结构?

如何仅修改Numpy数组的第二列并保留二维结构?

你的问题出在赋值操作替换了整个数组对象:arr=arr[:,1]-125会把arr[:,1]-125生成的一维数组直接赋值给arr,导致原二维数组的结构丢失。

要实现仅修改第二列且保留二维结构,有两种常用方式:

1. 原地修改原数组(推荐)

直接对第二列的视图进行操作,不需要重新赋值整个数组:

arr[:, 1] -= 125

arr[:,1]返回的是原数组第二列的视图(不是新数组),对它执行-=125会直接修改原数组中第二列的所有元素,第一列完全不受影响,数组的二维结构也会保留。

2. 创建新数组(不修改原数组)

如果需要保留原数组不变,可以先复制原数组,再修改副本的第二列:

import numpy as np

# 假设原数组是arr
new_arr = arr.copy()
new_arr[:, 1] -= 125

这样arr保持原样,new_arr是修改后的二维数组。

执行上述操作后,打印数组会得到你期望的结果:

array([[124609.,    349.],
       [ 46225.,    228.],
       [ 50176.,    215.],
       ...,
       [ 51984.,    224.],
       [ 46225.,    228.],
       [ 50176.,    215.]])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 04:55:11