numpy 数组追加不起作用

ash*_*hik 1 python numpy

我试图在 numpy 数组中追加。它没有显示任何错误,但没有追加数组中的值。我不明白是什么原因。

ind=[]
ind=np.array(ind)
ind

out:array([], dtype=float64)
rand_num
out:0.2581020651429914

for i in T_Yk:
    print i,rand_num,i>=rand_num
    if i>=rand_num:
        np.append(ind,i)


0.841407208505 0.258102065143 True
0.544017164891 0.258102065143 True
0.847014100035 0.258102065143 True
0.837888398913 0.258102065143 True
0.602345432651 0.258102065143 True
0.758088894007 0.258102065143 True
0.875552313712 0.258102065143 True
0.566129640396 0.258102065143 True
0.398095901072 0.258102065143 True
0.708554596955 0.258102065143 True
0.308165627166 0.258102065143 True
0.716732072072 0.258102065143 True
0.760848001298 0.258102065143 True
0.307696603977 0.258102065143 True
0.574524448748 0.258102065143 True
0.608537650411 0.258102065143 True
0.661614576393 0.258102065143 True
0.358783413082 0.258102065143 True
0.396823316883 0.258102065143 True
0.867563492221 0.258102065143 True
0.520237352281 0.258102065143 True
0.866000916749 0.258102065143 True
0.851035162881 0.258102065143 True
0.566755675099 0.258102065143 True
0.687814928058 0.258102065143 True
0.787882814547 0.258102065143 True
0.8790451058 0.258102065143 True
0.538294379248 0.258102065143 True
0.543694673875 0.258102065143 True
Run Code Online (Sandbox Code Playgroud)

但是当我打印数组 ind 时,它显示

array([], dtype=float64)
Run Code Online (Sandbox Code Playgroud)

Lio*_*Lai 6

np.append与 不同list.append不是就地操作。

因此,分配回原始指针:

ind = np.append(ind, i)
Run Code Online (Sandbox Code Playgroud)