<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      numpy詳細教程(涵蓋全部,看這一篇就夠了)

      numpy詳細教程(涵蓋全部,看這一篇就夠了)-CSDN博客

       numpy初識:

      作為數據分析三劍客之一的numpy,只要用到python來進行數據分析,那numpy是必不可少的

      NumPy,一言以蔽之,是Python中基于數組對象的科學計算庫。它是Python語言的一個擴展程序庫,支持大量的維度數組與矩陣運算,以及大量的數學函數庫。NumPy的核心是ndarray對象,它是一個功能強大的N維數組對象,封裝了n維同類數組。很多運算是由編譯過的代碼來執行的,以此來提高效率。

      以下是NumPy的一些主要特點:

           

      1. 多維數組對象:NumPy的核心數據結構是ndarray,它是一個多維數組,用于存儲同質數據類型的元素。這些數組可以是一維、二維、三維等,非常適用于向量化操作和矩陣運算。

      2. 廣播功能:NumPy允許在不同形狀的數組之間執行操作,通過廣播功能,它可以自動調整數組的形狀,以使操作變得有效。

      3. 豐富的數學函數:NumPy提供了大量的數學、統計和線性代數函數,包括基本的加減乘除、三角函數、指數和對數函數、隨機數生成、矩陣操作等。

      4. 索引和切片:NumPy允許使用索引和切片操作來訪問和修改數組中的元素,這使得數據的選擇和處理非常靈活。

      5. 高性能計算:NumPy的底層實現是用C語言編寫的,因此它在處理大規模數據時非常高效。此外,NumPy還與其他高性能計算庫(如BLAS和LAPACK)集成,提供了快速的線性代數運算。

      6. 互操作性:NumPy可以與許多其他Python庫和數據格式(例如Pandas、SciPy、Matplotlib)無縫集成,這使得數據科學工作流更加流暢。

      NumPy的廣泛應用范圍包括數據處理、科學研究、機器學習、圖像處理、信號處理等各種領域。

      它為數據分析人員、科學家和工程師提供了一個功能強大且高效的工具,以便進行數值計算和數據處理

      安裝numpy

               這里介紹anaconda命令行安裝方法

               第一步,打開anaconda終端

                    

      第二步,創建虛擬環境

      (已經創建好虛擬環境的可以直接到第四步)

      conda create -n NumpyTest python=3.7
      python 運行

      (NumTest為你要創建虛擬環境的名稱 ,后面為對應的版本,你想創建3.10的版本,后面就改為python=3.10)

       第三步,輸入y安裝基礎包

      第四步 切換至你創建的虛擬環境的目錄下

       我這里創建的是虛擬環境的名字是NumpyTest,所以我切換至NumpyTest環境下

      conda activate NumpyTest
      python 運行

       

      第五步:安裝 numpy包 

      pip install numpy
      XML

      有些小伙伴可能因為網絡問題安裝不了,可以切換至清華園鏡像,代碼也是很簡單的,我這里就不贅敘了

      1. 還缺啥包直接pip install 包名
      2. 在pycharm中加載該環境即可,創建的環境在anaconda\envs下面

           創建數組

                         1.1創建一維數組   

       
      1. import numpy as np
      2. data=np.array([1,2,3,4])
      3. print(data)
       
      python 運行

                        1.2創建創建二維數組(矩陣)array

       
      1. import numpy as np
      2. data=np.array([[1,2,3,4],[4,5,6,7]])
      3. print(data)
       
      python 運行

                        1.3創建全0數組

        shape屬性代表形狀 shape(2,5) 就代表創建2行5列的全零數組

      創建全零數組的用途是初始化一個具有特定形狀和大小的數組,其中所有元素都設置為0。在處理圖像或其他數據時,全零數組可以用作初始值或占位符。

      例如,假設我們要讀取一個尺寸為(255,255,255)的圖片,我們可以創建一個相同維度的全零數組,然后將圖片讀入該數組進行填充。這樣做的好處是,我們可以直接將原始圖像數據存儲在全零數組中,而無需擔心數據溢出或其他問題。

       
      1. import numpy as np
      2. #shape代表形狀,比如我這里創建的就是5行三列的2維數組
      3. data=np.zeros(shape=(5,3))
      4. print(data)
       
      python 運行

                        1.4創建全1數組

      創建全1數組的用途是初始化一個具有特定形狀和大小的數組,其中所有元素都設置為1。在處理一些數學問題或算法時,全1數組可以用作初始值或占位符。

      例如,假設我們要計算一個矩陣與自身的轉置相乘的結果,我們可以創建一個與輸入矩陣相同維度的全1數組,然后將輸入矩陣讀入該數組進行填充。這樣做的好處是,我們可以直接將原始矩陣數據存儲在全1數組中,而無需擔心數據溢出或其他問題。

       
      1. import numpy as np
      2. #shape代表形狀,比如我這里創建的就是5行三列的2維數組
      3. data=np.ones(shape=(5,3))
      4. print(data)
       
      python 運行

                        1.5創建全空數組

      創建出來的全空數組中的數據都是無限小的、無限接近于0但不是0,這方便我們數學上的一些操作

       
      1. import numpy as np
      2. #shape代表維度,比如我這里創建的就是5行三列的2維數組
      3. data=np.empty(shape=(5,3))
      4. print(data)
       
      python 運行

                      1.6 創建有連續序列的數組 arange

      數組從10開始步長為2,所以創建出來數組元素就是10,12,14

       
      1. import numpy as np
      2. data = np.arange(10,16,2) # 10-16的數據,步長為2
      3. print(data)
       
      python 運行

                    1.7 創建有連續間隔的數組 linspace 

               也可以稱為線性等分向量(linear space),在一個指定區間內按照指定的步長,將區間均等分,生成的是一個線段類型的數組。生成的線性間隔數據中,是有把區間的兩端加進去的

       
      1. import numpy as np
      2. # 創建線段型數據
      3. data= np.linspace(1,10,20) # 開始端1,結束端10,且分割成20個數據,生成線段
      4. print(data)
       
      python 運行

                     1.8創建隨機數組

             創建隨機數組的用途是初始化一個具有特定形狀和大小的數組,其中所有元素都是隨機生成的。在處理一些需要模擬隨機數據的情況時,隨機數組可以用作占位符或測試數據。

       
      1. import numpy as np
      2. data = np.random.rand(3,4)
      3. print(data)
       
      python 運行

                 這里我們還可以用另外一種方法創建數組,這種方法很靈活,也好用

            這段代碼使用NumPy庫創建了一個4行5列的隨機整數數組,其中每個元素的值在2到5之間

       
      1. import numpy as np
      2. data=np.random.randint(2,5,size=(4,5));
      3. print(data)
       
      python 運行

       效果圖:

       

       

                  1.9改變數組形狀

                    這個怎么理解呢,比如說你本來有一個2行3列的數組,你可以把它改成為3行2列的數組

                    注意:因為數組中元素是沒有改變的,所以重塑數組指定的尺寸大小是否和原本的尺寸大小一樣,大一點和小一點都會報錯,2行3列的數組,你可以把它改成為3行2列的數組 ,或者1行6列,改后尺寸必須一樣,reshape本質就是原本數組中的元素按順序展開來,然后依次填入新定義的尺寸中去.注意 reshape后面填的是元組數據類型

       
      1. import numpy as np
      2. data1=[1,2,3,4,5]
      3. data2=[1,2,3,4,5]
      4. data=np.array([data1,data2])
      5. print("改之前的數組形狀為:")
      6. print(data.shape)
      7. data=data.reshape((5,2))
      8. print("改之后的數組形狀為:")
      9. print(data.shape)
       
      python 運行

          運行結果:

            

            1.10數組轉置

       
      1. import numpy as np
      2. data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
      3. data_array = np.array(data)
      4. print("沒有轉置數組之前數組為:")
      5. print(data)
      6. print("轉置數組之后數組為:")
      7. print(data_array.T)
       
      python 運行

          運行效果

          

      數組顯示操作 

              2.1數組維度 ndim

         ndim屬性代表數組維度

       
      1. data = np.array([1,2,3])
      2. print(data.ndim)
       
      python 運行

            2.2數組形狀shape

        shape屬性代表數組形狀,可以這么理解shape是各個方向的維度(ndim)

      print(data.shape)
      python 運行

            2.3數組中元素個數

      print(data.size)
      python 運行

          2.4 數組的數據類型 dtype

      print(data.dtype)
      python 運行

      數組的運算

      這里簡單講兩個例子

      數組加法

       
      1. import numpy as np
      2. array1 = np.array([1, 2, 3])
      3. array2 = np.array([4, 5, 6])
      4. result = array1 + array2
      5. print(result)
       
      python 運行

      數組乘法

       
      1. result=array1*array2
      2. print(result)
       
      python 運行

      數組中的數據統計

            數據統計大家有個印象就行,不要刻意的去記,用到的時候回來看一眼就可以了,多用也就會了

      計算數組的平均值

      numpy.mean(arr, axis=None, dtype=None, out=None): 計算數組的平均值。參數axis表示沿著哪個軸進行計算,默認為None,表示計算整個數組的平均值;dtype表示返回結果的數據類型,默認為float64;out表示將結果存儲在指定的數組中,一般情況下,傳個數組進去就可以了,其他的用默認的就好了,其它的方法也是一樣,我不贅述

       
      1. import numpy as np
      2. data=[1,5,6,9]
      3. mindle=np.mean(data)
      4. print(mindle)
       
      python 運行

      計算數組的中位數

      numpy.median(arr, axis=None, out=None): 計算數組的中位數。參數axisout的含義與numpy.mean()相同

       
      1. import numpy as np
      2. data=[1,5,6,9]
      3. data1=np.median(data)
      4. print(data1)
       
      python 運行

       其他的我就不給代碼示例了,直接上參數詳解好吧,也不要浪費這個時間

      計算數組的標準差

      numpy.std(arr, axis=None, dtype=None, out=None): 計算數組的標準差。參數axisdtypeout的含義與numpy.mean()相同。

      計算數組的方差

      numpy.var(arr, axis=None, dtype=None, out=None)計算數組的方差。參數axisdtypeout的含義與numpy.mean()相同。

       計算數組的最小值 

      numpy.min(arr, axis=None, out=None): 計算數組的最小值。參數axisout的含義與numpy.mean()相同。

       計算數組的最大值

      numpy.max(arr, axis=None, out=None): 計算數組的最大值。參數axisout的含義與numpy.mean()相同

      計算數組的元素之和

      numpy.sum(arr, axis=None, dtype=None, out=None)計算數組的元素之和。參數axisdtypeout的含義與numpy.mean()相同。

      計算數組的元素乘積

      numpy.prod(arr, axis=None, dtype=None, out=None)計算數組的元素乘積。參數axisdtypeout的含義與numpy.mean()相同

      計算數組的累積和

      numpy.cumsum(arr, axis=None, dtype=None, out=None): 計算數組的累積和。參數axisdtypeout的含義與numpy.mean()相同。

       

      數組的索引和切片

         切片怎么說呢,一維數組好講,多維數組不太好講,我們一起看看吧

           一維數組切片

          對于一維數組來說,它類似于一條直線,其上的坐標位置用一個數字就可以表示。例如,對于一個長度為5的一維數組arr = [1, 2, 3, 4, 5],我們可以用數字0到4來表示它的每一個位置。當我們使用切片操作時,就可以通過指定起始位置和結束位置來獲取數組中的一部分元素。例如,如果我們想要獲取從索引1到索引3的元素,可以使用切片操作arr[1:4],結果為[2, 3, 4]。需要注意的是,切片操作是左閉右開的,即包括起始位置,但不包括結束位置

       
      1. import numpy as np
      2. arr = np.array([1,2,3,4,5])
      3. print(arr[1:4])
       
      python 運行

           多維數組切片

            多維數組單純講不太好講,我多舉幾個例子吧

       
      1. import numpy as np
      2. data1=[1,2,3,4,5]
      3. data2=[6,7,8,9,10]
      4. data3=[11,12,13,14,15]
      5. data4=[16,17,18,19,20]
      6. data5=[21,22,23,24,25]
      7. data6=[26,27,28,29,30]
      8. data=np.array([[data1,data2,data3],[data4,data5,data6]])
       
      python 運行

         我先創建了一個3維數組,其形狀shape=(2,3,5)運行效果圖如下

         

      我們以實操來進行講解

       行切片 

                 假設我們現在只想取前面兩行,那我們應該怎么做呢?

                思路:我們先取第一維數據

      print(data[0:1])
      python 運行

           運行效果:

                     

      現在它現在是不是就被分解成一個2維數組,我們再對這個2維數組進行操作,要想取這個2維數組前面兩行,代碼是啥呢?是不是就是data[0:2],那我們結合第一步的代碼,應該怎么做呢?

      print(data[0:1,0:2])
      python 運行

       運行效果:

                  

       這樣是不是就取到最前面兩行了

        其實就是進行分解操作就行,一維一維的進行分解,那我們再來看看列切片吧

      列切片

          還是以這個數組進行列切片操作

      print(data[:,])
      python 運行

      運行效果圖:

      可能這個操作小伙伴有些就看不懂了,啥意思呢,還是一句話,一維一維的進行分解,因為我們要取的是列,所有全部的行我們就應該都算進去,換句話來說,忽略行的影響 代碼就是data[:,]

      再來取第2維

          代碼還是data[:]結合起來就是

      print(data[:,:]
      python 運行

       效果圖:

        

      我們再來取最后一維

      print(data[:,:,0:2])
      python 運行

       運行效果 :

              

      至此,列取片也完成

      總結:不管是列取片,還是行取片,你都去一維一維的去進行拆分,一維一維的去切片就好了 

      數組堆疊

      垂直堆疊

       
      1. # 垂直堆疊
      2. stacked_vertically = np.vstack((array1, array2))
       
      python 運行

      水平堆疊

       
      1. # 水平堆疊
      2. stacked_horizontally = np.hstack((array1, array2))
       
      python 運行

      保存和加載數組

      保存數組到文件

       
      1. # 保存數組到文件
      2. np.save('my_array.npy', data)
       
      python 運行

      加載數組

       
      1. # 加載數組
      2. loaded_data = np.load('my_array.npy')
       

       

      posted @ 2025-09-08 10:08  CharyGao  閱讀(864)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 美女裸体18禁免费网站| 欧美人与zoxxxx另类| 国产伦精品一区二区三区| 亚洲熟女精品一区二区| 国产资源精品中文字幕| 国产成人女人在线观看| 国产欧美在线手机视频| 国产粉嫩一区二区三区av| 51妺嘿嘿午夜福利| 日韩精品人妻中文字幕| 无码人妻久久一区二区三区app| 中文字幕无码免费久久| 草草浮力影院| 亚洲欧洲一区二区精品| 无码人妻丝袜在线视频| 免费看成人欧美片爱潮app| 日本精品成人一区二区三区视频| 亚洲色欲色欱WWW在线| 熟妇人妻av无码一区二区三区| 亚洲第一视频区| 亚洲顶级裸体av片| 狂躁女人双腿流白色液体| 日本一区二区三区免费播放视频站| 久久精品青青大伊人av| 好姑娘6电影在线观看| 国产精品99中文字幕| 黄色大全免费看国产精品| 人人澡人人妻人人爽人人蜜桃| 亚洲国产在一区二区三区| 中文字幕 日韩 人妻 无码| 亚洲国产午夜精品理论片在线播放 | 精品人妻av区乱码| 亚洲色偷偷偷网站色偷一区| 欧美丰满熟妇bbbbbb| 红桃视频成人传媒| 国产美女在线精品免费观看| 精选国产av精选一区二区三区| 成人免费区一区二区三区| 日韩精品一区二区三区蜜臀| 亚洲va久久久噜噜噜久久狠狠| 国产94在线 | 亚洲|