当我将具有以下格式和类型的元素追加到列表中时:
data.append([float,float,string])
然后使用以下方法堆叠列表:
数据= np.hstack(数据)
然后最终使用以下方法重塑数组并转置:
data = np.reshape(data,(-1,3))。T
数据中的所有数组元素均更改为字符串。我希望(并希望)数据中的第一列和第二列为float类型,第三列为string类型,但是它们都是string类型。 [有趣的是,如果我不将字符串元素附加到 data 并将新形状调整为(-1,2),则两列都是浮点数。]我无法弄清楚这一点。任何帮助,将不胜感激。
答案 0 :(得分:0)
由于数字和字符串的混合,np.array将使用通用格式:字符串。解决方案是将数据转换为支持混合元素类型的 object 类型。这是通过使用以下命令执行的:
data = np.array(data,dtype = object)
在hstack之前。