数组中的元素将数据类型从float更改为string

时间:2018-10-18 14:31:22

标签: python arrays append reshape

当我将具有以下格式和类型的元素追加到列表中时:

data.append([float,float,string])

然后使用以下方法堆叠列表:

数据= np.hstack(数据)

然后最终使用以下方法重塑数组并转置:

data = np.reshape(data,(-1,3))。T

数据中的所有数组元素均更改为字符串。我希望(并希望)数据中的第一列和第二列为float类型,第三列为string类型,但是它们都是string类型。 [有趣的是,如果我不将字符串元素附加到 data 并将新形状调整为(-1,2),则两列都是浮点数。]我无法弄清楚这一点。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

由于数字和字符串的混合,np.array将使用通用格式:字符串。解决方案是将数据转换为支持混合元素类型的 object 类型。这是通过使用以下命令执行的:

data = np.array(data,dtype = object)

在hstack之前。