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

numpy数组无法追加数据求助:append方法使用疑问

问题描述

尝试向仅含3个元素的sGewiss数组中添加约100个数值,使用如下代码循环执行numpy.append()操作:

for b in range(len(aUnique)):
    temp = aUnique[b]
    print(temp)
    numpy.append(sGewiss, temp)
    #RawData.cell(row=b+1, column=1).value = temp

print(sGewiss)

循环中打印temp能看到正确数值,但最终打印sGewiss时仅显示原数组[66830 72312 72812],未出现新增元素。请问是参数使用错误还是存在未注意到的维度问题?期望得到包含原3个元素和新增100个元素的数组。

问题原因与解决方法

核心问题是**numpy.append()不会修改原数组,而是返回一个拼接后的新数组**,你当前的代码只调用了append但没有将返回值重新赋值给sGewiss,所以原数组始终保持初始状态。

解决方式1:循环中赋值返回值

修改代码,每次将numpy.append()的返回值重新赋值给sGewiss:

import numpy as np  # 建议用np别名简化代码
for b in range(len(aUnique)):
    temp = aUnique[b]
    print(temp)
    sGewiss = np.append(sGewiss, temp)  # 关键:将新数组赋值回变量
print(sGewiss)

解决方式2:批量拼接(更高效)

numpy的循环操作效率较低,直接一次性将aUnique整体拼接到sGewiss后是更优的方案:

import numpy as np
sGewiss = np.append(sGewiss, aUnique)
print(sGewiss)

关于维度的说明

从你打印temp是单个数值来看,维度匹配没有问题,无需额外处理维度。如果后续遇到多维数组拼接,只需确保待拼接数组的维度与原数组兼容即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 00:55:30