阵列转换的内存问题

A.M*_*.M. 4 python memory numpy

如果我们转换包含大阵列01作为boolean含有另一个数组01作为float,阵列的大小将是几乎10倍.如果我们需要这个转换,在python(Numpy)中处理这个问题的最佳方法是什么(如果有的话)?

小智 6

您可能不必进行转换.如果使用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. ]
Run Code Online (Sandbox Code Playgroud)