阵列转换的内存问题

时间:2015-06-17 16:17:34

标签: python memory numpy

如果我们将包含mongodb.uri = "mongodb://geoAdmin:secret@192.168.2.89:27017/geo_db?authSource=geo_db" 0的大型数组转换为1到包含boolean0的另一个数组1,数组的大小几乎要大10倍。如果我们需要这个转换,在python(Numpy)中处理这个问题的最好方法是什么(如果有的话)?

1 个答案:

答案 0 :(得分: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. ]