国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python 判斷矩陣中每行非零個數的方法

2020-02-16 00:56:00
字體:
來源:轉載
供稿:網友

如下所示:

# -*- coding: utf-8 -*-# @Time  : 2018/5/17 15:05# @Author : Sizer# @Site  : # @File  : test.py# @Software: PyCharmimport timeimport 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) * 1for 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.0factor = np.ones(data.shape[1])res = np.dot(exist, factor)end_time = time.time()print("op 4:", end_time - start_time)

經過多次驗證, 第四種實現方式的事件效率最高!

以上這篇python 判斷矩陣中每行非零個數的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 利津县| 巫山县| 化德县| 铜山县| 安宁市| 武汉市| 铜鼓县| 麻阳| 自贡市| 长海县| 伊通| 曲沃县| 鄱阳县| 阳朔县| 和田县| 正镶白旗| 长沙县| 广宁县| 自贡市| 十堰市| 泽普县| 巴中市| 西峡县| 浑源县| 邛崃市| 额敏县| 育儿| 于都县| 理塘县| 舟曲县| 阿鲁科尔沁旗| 博爱县| 自贡市| 永兴县| 延津县| 三门县| 滕州市| 延寿县| 外汇| 启东市| 永福县|