glu*_*uke 3 python arrays indexing numpy
我有一个二维的numpy数组,例如:
import numpy as np
a1 = np.zeros( (500,2) )
a1[:,0]=np.arange(0,500)
a1[:,1]=np.arange(0.5,1000,2)
# could be also read from txt
Run Code Online (Sandbox Code Playgroud)
那么我想选择与符合条件(例如范围(l1,l2)中包含的所有值a1 [:,1])的切片相对应的索引:
l1=20.0; l2=900.0; #as example
Run Code Online (Sandbox Code Playgroud)
我想用一个简洁的表达来做。但是,两个都没有:
np.where(a1[:,1]>l1 and a1[:,1]<l2)
Run Code Online (Sandbox Code Playgroud)
(它给出ValueError,并建议使用np.all,在这种情况下我不清楚);都不:
np.intersect1d(np.where(a1[:,1]>l1),np.where(a1[:,1]<l2))
Run Code Online (Sandbox Code Playgroud)
正在工作(它给出了不可散列的类型:“ numpy.ndarray”)
然后,我的想法是使用这些索引来映射另一个大小为(500,n)的数组。
有任何合理的方式选择索引吗?或者:在这种情况下是否需要使用口罩?
这应该工作
np.where((a1[:,1]>l1) & (a1[:,1]<l2))
Run Code Online (Sandbox Code Playgroud)
要么
np.where(np.logical_and(a1[:,1]>l1, a1[:,1]<l2))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7864 次 |
| 最近记录: |