1
我有一個約400,000個數值的numpy數組,z
。的z
範圍從0 to 2.9
在特定範圍內的Numpy數組
我想這個數組分成四個部分:
z1 = 0.0<z<=0.5
z2 = 0.5<z<=1.0
z3 = 1.0<z<=1.5
z4 = 1.5<z<=2.9
我一直在使用:
z1 = np.where(np.logical_and(z>0, z<=0.5))
z2 = np.where(np.logical_and(z>0.5, z<=1.0))
上面似乎並沒有給我z1
或z2
在要求的範圍內(大約z1
應該是一個長度100,000的數組,範圍在0<z<=0.5
之間!! 我已經用長度爲100左右的簡單數組嘗試過它,它可以工作。
我在這裏做錯了什麼?或者還有另外一種將我的陣列分成四部分的方法?
您您在布爾表達式中使用了'z1'的示例。我只有'z'和'z1'尚未定義。 – ThePredator
它仍然給我整個'z'而不是範圍內的值 – ThePredator
@Srivatsan對於我來說'np.take()'或幻想索引的解決方案......我創建'z'爲'z = np.linspace(0,2.9,1000)' –