创建大小为2e5的随机数组时的VisibleDeprecationWarning

时间:2017-05-15 17:14:17

标签: python arrays numpy scipy

我将var1,var2定义为以下数组:

N = 2e5
var1 = np.array(50 * np.random.normal(size=N) + 0.1)
var2 = np.array(0.01 * np.random.normal(size=N) - 300)

在python中运行这3个语句后,我得到以下两个警告:

  

__main__:7: VisibleDeprecationWarning:使用非整数而不是整数将导致将来出错

     

__main__:8: VisibleDeprecationWarning:使用非整数而不是整数将导致将来出错

我该如何纠正?

2 个答案:

答案 0 :(得分:3)

size必须是整数。您使用了N=2e5,但这是一个浮点数,您只需使用2 * 10**5

>>> type(2e5)
float

>>> type(2*10**5)
int

或以其他方式将值转换为整数。

答案 1 :(得分:1)

您不能使用浮点数或双精度作为索引,将结果转换为Int:

import numpy as np

N = int(2e5)
var1 = np.array(50*np.random.normal(size=N) + 0.1)
var2 = np.array(0.01*np.random.normal(size=N) - 300)