Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python.3-np.where代替For循环_Python 3.x_Numpy_For Loop - Fatal编程技术网

Python 3.x Python.3-np.where代替For循环

Python 3.x Python.3-np.where代替For循环,python-3.x,numpy,for-loop,Python 3.x,Numpy,For Loop,我使用的是python-3.x,我想找到一个标准除法大于0.5的列,然后我想向该列中的每个元素添加一个除法,正如您从下面的代码中看到的,它可以工作,但是当我有一个大数组时,我想使用类似np.where或类似的来代替loob 我试着将np应用到何处,但没有成功 np.where(np.std(population[:,i])>0.5, population+1, population+1) 在这里,它与for循环一起工作: import numpy as np population = n

我使用的是python-3.x,我想找到一个标准除法大于0.5的列,然后我想向该列中的每个元素添加一个除法,正如您从下面的代码中看到的,它可以工作,但是当我有一个大数组时,我想使用类似np.where或类似的来代替loob

我试着将np应用到何处,但没有成功

np.where(np.std(population[:,i])>0.5, population+1, population+1)
在这里,它与for循环一起工作:

import numpy as np
population = np.array(
              [[ 290,  -231,  399],
              [ 0,     181,   -226],
              [0,      0,     0],
              [0,      2000,  386],
              [0,      225,   2000]] )

for i in range (len(population.T)):       
    if np.std(population[:,i]))>0.5:
        population[:,i] = population[:,i] + 1       
    else:
        pass
结果:

 [[ 290   -230  400]
 [   0    182   -225]
 [   0    1     1]
 [   0    2001  387]
 [   0    226   2001]] 

只需执行
population[:,np.std(population,axis=0)>0.5]+=1
。谢谢@Divakar,但问题是它会删除不符合条件的列,我想保留所有列,只是修改符合条件的列如何执行?不,不会删除。这正是我想要的
population如果我添加
+=1
将说
无效语法
,所以我删除了
=
谢谢@divakersimply do
人口[:,np.std(人口,轴=0)>0.5]+=1
。谢谢@Divakar,但问题是它将删除不符合条件的列,我想保留所有列,只修改符合条件的列如何执行?不,没有删除。这正是我想要的
population[:,np.std(population,axis=0)>0.5]=population[:,np.std(人口,axis=0)>0.5]+1
如果我添加
+=1
将说
无效语法
,因此我删除了
=
谢谢@Divakar