python如何把数组变成元组_转换为numpy数组的元组列表

使用此元组列表,可以生成3种数组:In [420]: a = [(1,2),(3,4)]

2d数组,从输入中推断出dtype(但也可以指定为类似float的类型)。输入大小匹配。在

^{pr2}$

结构化数组。1d和2个字段。按名称编制字段索引。输入必须是元组列表(不是列表列表):In [422]: np.array(a, dtype='i,i')

Out[422]:

array([(1, 2), (3, 4)],

dtype=[('f0', '

In [423]: _['f0']

Out[423]: array([1, 3], dtype=int32)

在结构化数组中,input和display使用元组,但是数据实际上不是作为元组存储的。这些值打包为字节—在本例中,8个字节代表2个整数。在

对象数组。这是包含元组内容的1d。内容可以是其他任何东西。这是一个增强/降低的列表。在In [424]: A = np.empty((2,), dtype=object)

In [425]: A[:] = a

In [426]: A

Out[426]: array([(1, 2), (3, 4)], dtype=object)

In [427]: A.shape

Out[427]: (2,)

In [428]: A[1]

Out[428]: (3, 4)

Out[428]是一个实际的元组。试图修改它,A[1][0]=30,会引发一个错误。在

在最后一个例子中,A = np.empty(2, dtype=tuple)也做了同样的事情。除integer、float、string等以外的任何东西都“转换”为“object”。在

简单地指定object dtype是没有帮助的。结果是二维的数值元素(但存储为对象指针)。在In [429]: np.array(a, dtype=object)

Out[429]:

array([[1, 2],

[3, 4]], dtype=object)

In [430]: _.shape

Out[430]: (2, 2)

有关在处生成对象dtype数组的详细信息


版权声明:本文为weixin_29124971原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。