關于Python中的向量相加和numpy中的向量相加效率對比
更新時間:2019年08月26日 16:33:03 作者:boyan_RF
今天小編就為大家分享一篇關于Python中的向量相加和numpy中的向量相加效率對比,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
直接使用Python來實現(xiàn)向量的相加
# -*-coding:utf-8-*- #向量相加 def pythonsum(n): a = range(n) b = range(n) c = [] for i in range(len(a)): a[i] = i**2 b[i] = i**3 c.append(a[i]+b[i]) return a,b,c print pythonsum(4),type(pythonsum(4)) for arg in pythonsum(4): print arg
從這里這個輸出結果可以看得出來,return多個值時,是以列表的形式返回的
([0, 1, 4, 9], [0, 1, 8, 27], [0, 2, 12, 36]) <type 'tuple'> [0, 1, 4, 9] [0, 1, 8, 27] [0, 2, 12, 36]
使用numpy包實現(xiàn)兩個向量的相加
def numpysum(n): a = np.arange(n) ** 2 b = np.arange(n) ** 3 c = a + b return a,b,c
(array([0, 1, 4, 9]), array([ 0, 1, 8, 27]), array([ 0, 2, 12, 36])) <type 'function'> [0 1 4 9] [ 0 1 8 27] [ 0 2 12 36]
比較用Python實現(xiàn)兩個向量相加和用numpy實現(xiàn)兩個向量相加的情況
size = 1000 start = datetime.now() c = pythonsum(size) delta = datetime.now() - start # print 'The last 2 elements of the sum',c[-2:] print 'pythonSum elapsed time in microseconds',delta.microseconds size = 1000 start1 = datetime.now() c1 = numpysum(size) delta1 = datetime.now() - start1 # print 'The last 2 elements of the sum',c1[-2:] print 'numpySum elapsed time in microseconds',delta1.microseconds
從下面程序運行結果我們可以看到在處理向量是numpy要比Python計算高出不知道多少倍
pythonSum elapsed time in microseconds 1000 numpySum elapsed time in microseconds 0
以上這篇關于Python中的向量相加和numpy中的向量相加效率對比就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
一文教你如何用Python輕輕松松操作Excel,Word,CSV
數(shù)據(jù)處理是 Python 的一大應用場景,而 Excel 又是當前最流行的數(shù)據(jù)處理軟件。本文將為大家詳細介紹一下如何用Python輕輕松松操作Excel、Word、CSV,需要的可以參考一下2022-02-02Django 解決distinct無法去除重復數(shù)據(jù)的問題
這篇文章主要介紹了Django 解決distinct無法去除重復數(shù)據(jù)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05Python使用tkinter模塊實現(xiàn)GUI界面的學生信息管理系統(tǒng)流程分步詳解
這篇文章主要為大家詳細介紹了python實現(xiàn)簡易學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2023-01-01