我正在尝试预分配一个空数组,同时使用以下代码定义大小为 19x5 的数据类型:
import numpy as np
arr=np.empty((19,5),dtype=[('a','|S1'),('b', 'f4'),('c', 'i'),('d', 'f4'),('e', 'f4')])
结果有点出乎意料,产生了一个 19*5*5 的数组。但是,尝试:
arr=np.empty((19,1),dtype=[('a','|S1'),('b', 'f4'),('c', 'i'),('d', 'f4'),('e', 'f4')])
给出每行(5 个字段)的适当长度,这显然看起来像一维数组。
当我试图写这个时,只允许这种格式:
np.savetxt(file, arr, delimiter=',', fmt='%s')
这告诉我我正在处理一个字符串。有没有办法得到一个未展平的 19x5 形状的结构化阵列?
主要问题出现在使用 savetxt 编写时。我想要一个包含所有 5 列值的 csv 文件。由于这是作为字符串处理的,因此会给出错误的输出。