在 numpy 中使用复合类型的实际例子有哪些?

What are practical examples of using composite types in numpy?

numpy documentation 描述了创建自定义复合类型的选项。

应该如何使用它们?

我可以想象一个实际的例子是一个复合时间格式,可以用来统一 python、hdf5 和 numpy,例如:

custom_time = np.dtype( [ ('h', np.int8) , ('m', np.int8), ('s', np.float)] )

t = custom_time(23,59,59.99999)

(上面的行不起作用 - 我得到 TypeError: 'numpy.dtype[void]' object is not callable

也许您使用过复合类型并且有想法?

自定义类型用于 Numpy 数组,而不是 stand-alone 类型。这是一个例子:

# Declare the type
custom_time = np.dtype( [ ('h', np.int8) , ('m', np.int8), ('s', np.float64)] )

# Create an array with 2 items of custom_time
arr = np.array([(4, 8, 15.16), (23, 42, 0.815)], dtype=custom_time)

# Access the fields
print(arr['h'])   # [4 23]
print(arr['s'])   # [15.16 0.815]