【问题标题】:Errors saving stacked NumPy array to text将堆叠的 NumPy 数组保存到文本时出错
【发布时间】:2020-03-12 11:43:54
【问题描述】:

我正在将来自三个不同输入数组的列数据组合到一个新的 csv 中。为此,我使用 NumPy 堆栈函数。现在我有一个 [12,3] 堆叠的 NumPy 数组,我正在尝试导出到 csv。

VI_Samples_v4 = numpy.stack((samplename,sample_start_date,sample_type_code), axis =1)

当我使用 numpy 保存文本时

numpy.savetxt('array.csv', [VI_Samples_v4], fmt='%s', delimiter=',')

我收到此错误:“ValueError:预期的 1D 或 2D 数组,改为 3D 数组。”我相当肯定它是一个二维数组。当我向 Numpy 询问数组形状时,我得到 (12,3)。

VI_Samples_v4.shape

那么我的错误是什么?

【问题讨论】:

    标签: python arrays numpy csv


    【解决方案1】:

    问题是您在对numpy.savetxt 的调用中放置在数组周围的方括号。通过传递包含您的 2D 数组的列表,您将导致 numpy.savetxt 将其读取为 3D 数组。只需传递不带方括号的数组,如下所示:

    numpy.savetxt('array.csv', VI_Samples_v4, fmt='%s', delimiter=',')
    

    【讨论】:

      猜你喜欢
      • 2012-09-19
      • 2018-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-12
      • 2018-06-05
      • 1970-01-01
      • 2020-10-24
      相关资源
      最近更新 更多