广播期间的numpy类型转换

时间:2017-07-04 12:04:54

标签: numpy numpy-broadcasting

我使用numpy广播功能在一组坐标上映射一组值。值可以是异构类型,包括基元。我的问题是广播功能在某些条件下转换原始类型。例如,参见此代码:

In [11]: x = np.array([1])
    ...: y = np.array(['test', 10])
    ...: list(np.broadcast(x, y))

Out[11]: [(1, 'test'), (1, '10')]

在y值中传递的int 10已经转换为字符串' 10'播出后。

是否有可能以某种方式阻止这种投射行为?

1 个答案:

答案 0 :(得分:2)

这是因为当你做

y = np.array(['test', 10])

结果是

array(['test', '10'], 
  dtype='<U4')

如果你做y = np.array(['test', 10], dtype=object) 结果将如您所愿。

相关问题