numpy数组中使用不同的元素数据类型?

时间:2019-03-03 17:06:17

标签: python numpy

就像python中的列表一样,其中[1,“ hello”,{“ python”:10}]里面可以有所有不同的类型,numpy数组也可以有吗?

当numpyarray.dtype => dtype('float64')时,是否意味着所有元素都是float类型?

2 个答案:

答案 0 :(得分:1)

从文档中

  

dtype:数据类型,可选

     

所需的数组数据类型。如果未给出,则类型将为   确定为将对象保留在对象中所需的最小类型   顺序。此参数只能用于“上载”阵列。对于   向下转换,请使用.astype(t)方法。

因此,如果将dtype设置为float64,则所有内容都必须为float。您可以混合使用类型,但是不能将其设置为不匹配的类型。它将使用适合所有数据的类型,例如在array(['1', 'Foo', '3.123'])的情况下为字符串。

答案 1 :(得分:1)

是的,如果使用numpy structured arrays,则数组的每个元素都是一个“结构”,并且结构的字段可以具有不同的数据类型。

第二个问题的答案是。当cp属性显示值为dtype时,表示每个元素都是一个float64