【发布时间】:2011-04-23 16:31:22
【问题描述】:
我正在使用以下代码行创建一个充满零的二维数组:
MyNewArray=zeros([4,12],float)
但是,第一列需要填充字符串类型的文本数据,而所有其他列都需要填充可以数学操作的数字数据。
如何编辑上面的代码,使矩阵中的第一列可以是字符串数据类型,同时保持所有其他列为浮点数?
【问题讨论】:
标签: python arrays numpy types 2d
我正在使用以下代码行创建一个充满零的二维数组:
MyNewArray=zeros([4,12],float)
但是,第一列需要填充字符串类型的文本数据,而所有其他列都需要填充可以数学操作的数字数据。
如何编辑上面的代码,使矩阵中的第一列可以是字符串数据类型,同时保持所有其他列为浮点数?
【问题讨论】:
标签: python arrays numpy types 2d
您可能想使用structured arrays
MyNewArray = zeros(12, dtype='S10,f4,f4,f4')
定义结构的方法有多种,这里我定义了4个字段:一个10个字符的文本和三个浮点数(你可以写float而不是f4)。 值得注意的是,出于数组内存管理的原因,必须指定数组的字符数。您将无法存储超过此最大长度的字符串。
每个字段都由一个字段名称引用,在这种情况下,将使用默认字段名称 f0 到 f3。例如,要获取整个第一列(文本列):
MyNewArray['f0']
当然,您可以根据需要修改字段名称。
【讨论】: