python 判斷矩陣中每行非零個數(shù)的方法
更新時間:2019年01月26日 15:13:22 作者:四座
今天小編就為大家分享一篇python 判斷矩陣中每行非零個數(shù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
如下所示:
# -*- coding: utf-8 -*- # @Time : 2018/5/17 15:05 # @Author : Sizer # @Site : # @File : test.py # @Software: PyCharm import time import numpy as np # data = 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.random((1000, 1000)) print(data.shape) start_time = time.time() # avg = [float(np.mean(data[i, :])) for i in range(data.shape[0])] # print(avg) start_time = time.time() avg = [] for i in range(data.shape[0]): sum = 0 cnt = 0 for rx in data[i, :]: if rx > 0: sum += rx cnt += 1 if cnt > 0: avg.append(sum/cnt) else: avg.append(0) end_time = time.time() print("op 1:", end_time - start_time) start_time = time.time() avg = [] isexist = (data > 0) * 1 for i in range(data.shape[0]): sum = np.dot(data[i, :], isexist[i, :]) cnt = np.sum(isexist[i, :]) if cnt > 0: avg.append(sum / cnt) else: avg.append(0) end_time = time.time() print("op 2:", end_time - start_time) # # print(avg) factor = np.mat(np.ones(data.shape[1])).T # print("facotr :") # print(factor) exist = np.mat((data > 0) * 1.0) # print("exist :") # print(exist) # print("res :") res = np.array(exist * factor) end_time = time.time() print("op 3:", end_time-start_time) start_time = time.time() exist = (data > 0) * 1.0 factor = np.ones(data.shape[1]) res = np.dot(exist, factor) end_time = time.time() print("op 4:", end_time - start_time)
經(jīng)過多次驗證, 第四種實現(xiàn)方式的事件效率最高!
以上這篇python 判斷矩陣中每行非零個數(shù)的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python使用numpy模塊創(chuàng)建數(shù)組操作示例
這篇文章主要介紹了Python使用numpy模塊創(chuàng)建數(shù)組操作,結(jié)合實例形式分析了Python使用numpy模塊實現(xiàn)數(shù)組的創(chuàng)建、賦值、修改、打印等相關(guān)操作技巧與注意事項,需要的朋友可以參考下2018-06-06Python通用驗證碼識別OCR庫之ddddocr驗證碼識別
dddd_ocr也是一個用于識別驗證碼的開源庫,又名帶帶弟弟ocr,爬蟲界大佬sml2h3開發(fā),識別效果也是非常不錯,下面這篇文章主要給大家介紹了關(guān)于Python通用驗證碼識別OCR庫之ddddocr驗證碼識別的相關(guān)資料,需要的朋友可以參考下2022-05-05Python中對數(shù)組集進行按行打亂shuffle的方法
今天小編就為大家分享一篇Python中對數(shù)組集進行按行打亂shuffle的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11了解一下python內(nèi)建模塊collections
這篇文章主要介紹了Python內(nèi)建模塊——collections的相關(guān)資料,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-09-09Python基于紋理背景和聚類算法實現(xiàn)圖像分割詳解
這篇文章將詳細講解Python圖和基于紋理背景的圖像分割和聚類算法實現(xiàn)圖像分割效果,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2023-01-01