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

使用numpy.savetxt保存两数组为CSV文件遇问题求助

解决numpy.savetxt保存两列CSV的问题

嘿,这个问题我之前也踩过一模一样的坑!核心问题其实是一个不起眼的拼写错误,再加上可以优化下输出格式,就能完全符合你的需求啦。

问题根源

你写的命令里把分隔符参数写成了delimeter,但正确的参数名是delimiter(少了一个e)!这个拼写错误会让numpy直接忽略这个参数,用默认的输出格式,导致两列内容被混在一起,看起来像是挤在了同一列里。

正确的解决方案

首先确保你的数组A和B长度一致(B是np.arange(2000,5000),一共3000个元素,所以A也得是3000个元素),然后用下面的代码:

import numpy as np

# 创建你的数组
B = np.arange(2000, 5000)
# 模拟你的A数组(这里凑够3000个元素,和B长度匹配)
A = np.array([0, 2, 1] + [0, 1, 2] * 999)

# 正确保存CSV的代码
np.savetxt('output.csv', np.c_[B, A], delimiter=',', fmt='%d')

代码细节说明

  • np.c_[B, A]:这一步你是对的,它会把两个一维数组拼接成N行2列的二维数组,为保存两列数据打好基础。
  • delimiter=',':正确指定逗号作为列分隔符,确保B和A的元素各占一列。
  • fmt='%d':指定输出格式为整数,避免numpy默认用科学计数法输出整数,让CSV里的内容更直观易读。

运行这段代码后,你的output.csv里的内容就会是:

2000,0
2001,2
2002,1
2003,0
...
4999,2

完全符合你想要的每行对应B元素和A元素的格式。

额外检查点

如果还是出现异常,先确认A和B的长度是否一致,执行下面的代码验证:

print(len(B), len(A))

只有长度相同,np.c_才能正确拼接成二维数组,否则会直接抛出错误哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:41:06