在 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]
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]