python – 从numpy数组获取索引并应用于第二个低维数组以创建新
发布时间:2020-12-20 11:28:43 所属栏目:Python 来源:网络整理
导读:我有一个数组Gamma,Gamma.shape =(20,7,90,144),它代表尺寸(t,z,y,x),其各自的指数I由[l,k,j,i]表示.对于每个(t,我想找到k的最低值,使得Gamma [l,i] g_crit,其中g_crit是常量.将这组最低k值表示为k_low;我发现我可以很好地做到这一点 k_low = np.argmax(Gamm
我有一个数组Gamma,Gamma.shape =(20,7,90,144),它代表尺寸(t,z,y,x),其各自的指数I由[l,k,j,i]表示.对于每个(t,我想找到k的最低值,使得Gamma [l,i]> g_crit,其中g_crit是常量.将这组最低k值表示为k_low;我发现我可以很好地做到这一点
k_low = np.argmax(Gamma > g_crit,axis=1) 还有另一个数组lev,levs.shape =(7,),也对应于z维度.我最终试图创建数组levs_low,使得levs_low.shape =(20,144)和levs_low [l,i] = levs [k_low [l,i]].我坚持这一步.有什么想法吗?谢谢. 解决方法
这应该做的伎俩:
levs_low=levs[k_low] >>> Gamma=np.random.rand(20,144) >>> k_low = np.argmax(Gamma > .3,axis=1) >>> levs=np.random.rand(7) >>> levs_low=levs[k_low] >>> levs_low.shape (20,144) 举个小例子: >>> g=np.random.randint(0,5,(4,4)) >>> g array([[2,2,2],[2,1,0],[3,3,3],4,4]]) >>> k=np.arange(5)*-1 >>> k array([ 0,-1,-2,-3,-4]) >>> k[g] #Uses indices of g to select values from k. Also same as np.take(k,g) array([[-2,-2],[-2,[-3,-3],-4,-4]]) @Saullo Castro的回答很有意思.奇怪的是,花式索引和np.take之间的时间差异会有~5倍. %timeit levs[k_low] 100 loops,best of 3: 2.3 ms per loop %timeit np.take( levs,k_low ) 1000 loops,best of 3: 439 us per loop In [33]: np.all(levs[k_low]==np.take(levs,k_low)) Out[33]: True (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Python+Selenium自动化实现分页(pagination)处理
- Python Tkinter应用程序无法正常退出
- python – 无法转换为HEX – TypeError:找到非十六进制数字
- python – 为什么numpy.spacing(0)给我一个不可能的数字?
- flask-profiler, 监视端点调用并尝试进行某些分析的Flask 事
- 用Python实现通过哈希算法检测图片重复的教程
- python 调用c++ dll 动态库
- 大四学长教你利用Python写一款超级玛丽!零基础也会!超级装
- 资深研发程序员用Python 爬取Android xml页面信息数据采集分
- python – Telnet服务器ubuntu – 密码流