如何删除numpy数组的前导/尾随零?importnumpyasnpa=np.array([0,0,0,3,2,-1,0,0,7,9,13,0,0,0,0,0,0,0])#Desiredoutput[3,2,-1,0,0,7,9,13]这行不通:a[a!=0]因为它会删除所有的零,包括内部的零。 最佳答案 使用numpy.trim_zeros:>>>importnumpyasnp>>>a=np.array([0,0,0,3,2,-1,0,0,7,9,13,0,0,0,0,0,0,0])>>>np.trim_zeros(a)array
对于数据分析任务,我想在一个numpy数组中找到零交叉点,它来自一个卷积,首先是一个类似sobel的内核,然后是一个墨西哥帽内核。零交叉允许我检测数据中的边缘。不幸的是,数据有些嘈杂,我只想找到具有最小跳跃大小的零交叉点,在以下示例中为20:importnumpyasnparr=np.array([12,15,9,8,-1,1,-12,-10,10])应该导致>>>array([1,3,7])或>>>array([3,7])其中3是-1的索引,就在第一次跳转的中间之前,7是的索引-10我尝试修改以下代码(来源:Efficientlydetectsign-changesinpython)