久久亚洲精品ab无码播放,久热这里只精品99国产bd999,久久天天躁夜夜狠狠综合

  • <object id="f5q2j"></object>
  • <code id="f5q2j"><small id="f5q2j"></small></code>

    <big id="f5q2j"></big>
    • 培訓機構
    • 培訓課程
    15907412407

    客服時間:9:00-18:00

    71愛課網   培訓資訊? Python   python里array函數(python_tang_array_numpy)

    python里array函數(python_tang_array_numpy)

    本文作者: python培訓學校 發布時間:2022-06-04 欄目分類:Python 瀏覽人數:28
    【導讀】:在python中存儲集合數據可以選擇多種原生數據類型,包括list,array,tuple,dictionary四種類型.其中list可變性強,可存儲任意內容并且可變,應用范圍廣泛。

    python

    在python中存儲集合數據可以選擇多種原生數據類型,包括list,array,tuple,dictionary四種類型.其中list可變性強,可存儲任意內容并且可變,應用范圍廣泛。而在進行科學運算,存儲純數字時,numpy被廣泛應用,可以說基本完全替代了list.那么它們之間有何不同,差距到底有多大,實際過程中應該如何應用呢?

    當然,使用實際案例最能說明問題.

    運算速度比較

    簡單的加減乘除,以10000以內的數字做個比較.

    首先是求和

    mylist = []

    for i in range(1,10001):

    mylist.append(i)

    # list

    from time import time

    start = time()

    total=sum(mylist)

    print(total)

    end = time()

    print(f"total:{end-start}s")

    ## 50005000

    ## total:0.0003197193145751953s

    # numpy np.sum

    import numpy as np

    myarray = np.array(mylist)

    start = time()

    total = np.sum(myarray)

    print(total)

    end = time()

    print(f"total:{end-start}s")

    ## 50005000

    ## total:0.00041031837463378906s

    # numpy sum

    start = time()

    total = sum(myarray)

    print(total)

    end = time()

    print(f"total:{end-start}s")

    ## 50005000

    ## total:0.0012726783752441406s

    可以看到,在使用求和時原生的數組求和時間為0.0003,而使用numpy的np.sum卻需要0.0004,采用內置的sum求numpy中array的和時耗時最久,為0.001,差不多兩倍的時間了.而這還不包括將list轉換為array的時間,可見在求和上內置的list明顯占據上風.而很多其他文章比較時采用循環的方式當然會慢,但是不符合真實速度.

    其次是求積

    同樣采用mylist數據作為基礎,再次比較兩者的速度

    # list

    from time import time

    start = time()

    total = 1

    for i in total:

    total *= i

    end = time()

    print(f"total:{end-start}s")

    ## 50005000

    ## total:0.0003197193145751953s

    # numpy np.sum

    import numpy as np

    myarray = np.array(mylist)

    start = time()

    total = np.prod(myarray)

    end = time()

    print(f"total:{end-start}s")

    ## total:0.01838994026184082s

    ## total:0.000213623046875s

    在進行連乘時,由于沒有內置的乘法,只能采用循環的方式進行,不可避免的造成速度的降低,而numpy由于有prod函數,極大的提升了連乘的計算速度.

    總結

    本文從實際運算的角度比較了python內置的list與numpy的array的計算速度,發現在計算加和是numpy并不占優勢,而且類型轉換上會多消耗時間,而在計算連乘時numpy速度提升非常大,因此在計算連乘時numpy下頻率高. 總的來說,list應用范圍廣,求和速度快.而在科學運算,機器學習等領域則使用numpy.因numpy的array在計算連乘等方面速度極快,并且由于pandas的dataframe,series等廣泛應用在科學計算上占據絕對優勢,也使得其依賴numpy在科學運算中占據絕對優勢.

    免責聲明:

    一、71愛課網旨在免費為用戶傳遞信息,不代表本站的觀點和立場;

    二、71愛課網僅提供信息發布平臺,對于本文版權歸屬問題本站無法判斷和調查;

    三、本文整理于會員新聞,如果侵犯您的版權,請聯系管理員刪除或增加版權信息(QQ:981561103)。

    推薦課程

    免費預約試聽

    只要一個電話
    我們免費為您回電


    廣告
    久久亚洲精品ab无码播放,久热这里只精品99国产bd999,久久天天躁夜夜狠狠综合