在构造结构化/recarray 时,我对类型转换的行为感到困惑:
这个简单的示例接受数字字段,但将类型定义为字符串:
data = [(1.0, 2), (3.0, 4)]
np.array(data, dtype=[('x', str), ('y', int)])
产生:
array([('', 2), ('', 4)], dtype=[('x', 'S'), ('y', '<i8')])
因此,这些值被转换为空字符串,这不是您所期望的:
str(1.0)
产生字符串'1.0'
。是什么导致了这种行为?