我想把一个满是浮点数的数组和一个满是字符串的数组结合起来。有办法吗?
(我的浮动圈也有问题,insert正在将它们改为科学符号;我无法用一个小例子来重现这一点)
A=np.array([[1/3,257/35],[3,4],[5,6]],dtype=float)
B=np.array([7,8,9],dtype=float)
C=np.insert(A,A.shape[1],B,axis=1)
print(np.arround(B,decimals=2))
D=np.array(['name1','name2','name3'])
我如何将D附加到C的末尾,就像将B附加到A一样(将D作为C的最后一列插入)?
我怀疑在同一个数组中包含字符串和浮点数之间存在类型问题。如果有办法把一个浮点数(或者一个科学数字,我的数字显示为“5.02512563e-02”)改为一个大约有4位数字的字符串(.0502),它也会回答我的问题。
我认为concatenate不起作用,因为数组维数是(3,3)和(,3)。D是一个一维数组,D.T与D没有区别。另外,当我插入这个时,我得到“ValueError:所有输入数组必须具有相同的维数。”
我不在乎由于附加而导致的精度损失,因为这是打印前的最后一步。
尝试先将D设为numpy数组,然后转置并与C连接:
有关说明和示例,请参见concatenate文档: http://docs.scipy.org/doc/numpy/reference/generated/numpy.concatenate.html
numpy数组只支持数组中的一种数据类型。将float更改为str不是一个好主意,因为它只会导致非常接近原始值的值。
尝试使用pandas,它在一列中支持多个数据类型。
相关问题 更多 >
编程相关推荐