【发布时间】:2015-09-03 00:17:40
【问题描述】:
如果我们将包含0 和1 为boolean 的大型数组转换为另一个包含0 和1 为float 的数组,则数组的大小将几乎大10 倍。如果我们需要这种转换,在 python (Numpy) 中处理这个问题的最佳方法是什么(如果有的话)?
【问题讨论】:
如果我们将包含0 和1 为boolean 的大型数组转换为另一个包含0 和1 为float 的数组,则数组的大小将几乎大10 倍。如果我们需要这种转换,在 python (Numpy) 中处理这个问题的最佳方法是什么(如果有的话)?
【问题讨论】:
您可能不必进行转换。如果您使用 bool 数组和另一个 float 数组执行一些计算,则转换将在操作期间处理:
import numpy as np
y = np.array([False, True, True, False], dtype=bool)
x = np.array([2.5, 3.14, 2.7, 8.9], dtype=float)
z = x*y
print z
[ 0. 3.14 2.7 0. ]
【讨论】: