我有一个这样的清单:
l=[(1,2),(3,4)]
我想将其转换为一个numpy数组,并保持数组项类型为元组:
array([(1,2),(3,4)])
但是numpy.array(l)会给出:
array([[1,2],[3,4)]])
并将项目类型从元组更改为numpy.ndarray,然后我指定了项目类型
numpy.array(l,numpy.dtype('float,float'))
这给出了:
array([(1,2),(3,4)])
但是项目类型不是元组而是numpy.void,所以问题是:
how to convert it to a numpy.array of tuple,not of numpy.void?
您可以拥有一个object
dtype数组,让该数组的每个元素成为一个元组,如下所示-
out = np.empty(len(l), dtype=object)
out[:] = l
样品运行-
In [163]: l = [(1,2),(3,4)]
In [164]: out = np.empty(len(l), dtype=object)
In [165]: out[:] = l
In [172]: out
Out[172]: array([(1, 2), (3, 4)], dtype=object)
In [173]: out[0]
Out[173]: (1, 2)
In [174]: type(out[0])
Out[174]: tuple
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句