<>强如下所示:强>
# - * -编码:utf - 8 - * # @Time: 2018/5/17 15:05 # @Author:筛选器 # @Site: # @File: test.py # @Software: PyCharm 导入的时间 进口numpy np #数据=https://www.yisu.com/zixun/np.array ([ # (5.0,3.0,4.0,4.0,0.0), # (3.0,1.0,2.0,3.0,3.0), # (4.0,3.0,4.0,3.0,5.0), # (3.0,3.0,1.0,5.0,4.0), # (1.0,5.0,5.0,2.0,1.0) #)) data=np.random。随机((1000,1000)) 打印(data.shape) start_time=time.time () # avg=[(np浮动。意味着(数据[i:]))我的范围(data.shape [0])) #打印(avg) start_time=time.time () avg=[] 因为我在范围(data.shape [0]): 和=0 问=0 rx的数据(我:): 如果rx> 0: +=和rx 问+=1 如果问> 0: avg.append(金额/问) 其他: avg.append (0) end_time=time.time () 打印(op 1:“end_time - start_time) start_time=time.time () avg=[] isexist=(数据比;0)* 1 因为我在范围(data.shape [0]): 和=np。点(数据(我:),isexist [i:]) 问=np。sum (isexist [i:]) 如果问比;0: avg.append(金额/问) 其他: avg.append (0) end_time=time.time () 打印(op 2:“end_time - start_time) # #打印(avg) 因素=np.mat (np.ones (data.shape [1])) .T #打印(“度因子:“) #打印(因素) 存在=np。垫(数据比;0)* 1.0) #打印(“存在:”) #打印(存在) #打印(“res:”) res=np。数组(存在*因素) end_time=time.time () 打印(op 3: end_time-start_time) start_time=time.time () 存在=(数据比;0)* 1.0 因素=np.ones (data.shape [1]) res=np。点(存在,因素) end_time=time.time () 打印(op 4:“end_time - start_time) >之前经过多次验证,第四种实现方式的事件效率最高!
以上这篇python判断矩阵中每行非零个数的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
python判断矩阵中每行非零个数的方法