我正在使用以下代码行创建一个充满零的二维数组:
MyNewArray=zeros([4,12],float)
但是,第一列需要填充字符串类型的文本数据,而所有其他列都需要填充可以数学方式处理的数字数据。
如何编辑上面的代码,以便矩阵中的第一列可以是字符串数据类型,同时将所有其他列保持为float?
答案 0 :(得分:5)
您可能想要使用structured arrays
MyNewArray = zeros(12, dtype='S10,f4,f4,f4')
有几种定义结构的方法,这里我定义了4个字段:一个文本有10个字符,三个浮点数(你可以写float而不是f4)。 请注意,由于阵列内存管理原因,必须指定数组的字符数。您将无法存储超过此最大长度的字符串。
每个字段都由字段名称引用,在这种情况下,将使用默认字段名称f0到f3。例如,要获取整个第一列(文本一列):
MyNewArray['f0']
当然,您可以根据需要修改字段名称。