日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NumPy基础入门学习

發布時間:2025/3/18 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NumPy基础入门学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于習慣使用了MATLAB的用戶而言,學習NumPy這個python工具包付出的成本應該是不大的。


NumPy的基本的object是多維數組,是一個有同樣類型的數字等構成的一張表格,能夠通過元組進行索引。本篇主要列出NumPy中最經常使用的一些操作。

1,ndarray 類型的一些屬性

>>> from numpy import * >>> a=array([[1,2,3],[4,5,6]]) >>> a array([[1, 2, 3],[4, 5, 6]]) >>>
以上給出了怎么樣初始化一個NumPy 數組。這個數組的類型,維度,包括元素的個數,元素類型。數據等都能夠通過其對應的屬性來得到

# 元素類型 ndarray.dtype >>> a.dtype dtype('int64') >>>
# 維度 ndarray.shape >>> a.shape (2, 3)

#包括元素的個數 ndarray.size >>> a.size 6

2。創建自己定義大小的數組。改變數組的shape

默認系統類型

>>> a=zeros((3,4)) >>> a array([[ 0., 0., 0., 0.],[ 0., 0., 0., 0.],[ 0., 0., 0., 0.]])
初始化數據的類型

>>> a=ones((5,4),dtype=int64) >>> a array([[1, 1, 1, 1],[1, 1, 1, 1],[1, 1, 1, 1],[1, 1, 1, 1],[1, 1, 1, 1]]) >>> a.dtype dtype('int64')


改變數組的shape?????????????? reshape函數

>>> a=arange(15) >>> a array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]) >>> a.reshape((5,3)) array([[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11],[12, 13, 14]])
技巧:對于reshape這個函數,能夠僅僅指定多少行,或者僅僅指定多少列。剩下的工作由這個函數提我們來做。提高操作的靈活性。

>>> a.reshape((5,:-1)) array([[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11],[12, 13, 14]]) >>> a.reshape((-1,5)) array([[ 0, 1, 2, 3, 4],[ 5, 6, 7, 8, 9],[10, 11, 12, 13, 14]])

3,數組索引


1)通過指定元組來進行索引

>>> a=floor(10*random.random((5,4))) >>> a array([[ 4., 6., 4., 9.],[ 4., 7., 2., 1.],[ 4., 9., 7., 3.],[ 5., 4., 6., 0.],[ 4., 3., 2., 9.]]) >>> a[(1,1)] 7.0 >>> a[(3,2)] 6.0
2)一次索引多個元素

????? 索引出多行,能夠將下標存放在一個array里

>>> index=array([1,3,4]) #要索引1,3,4行 >>> a[index] array([[ 4., 7., 2., 1.],[ 5., 4., 6., 0.],[ 4., 3., 2., 9.]])


>>> index=array([[1,2],[1,3]]) >>> b=a[index] >>> b array([[[ 4., 7., 2., 1.],[ 4., 9., 7., 3.]],[[ 4., 7., 2., 1.],[ 5., 4., 6., 0.]]]) >>> b.shape (2, 2, 4)

以上操作都是對一行進行索引的。那么怎么去索引到第幾行。第幾列呢

>>> i=array([0,1,2,3]) >>> j=array([3,2,1,0]) >>> a[i,j] array([ 9., 2., 9., 5.]) 返回的是 一個一維矩陣。行存放在i 中。列存放在j中

如果要將返回的元素存放在2*2的矩陣中


>>> i=array([[0,1],[2,3]]) >>> j=array([[3,2],[2,1]]) >>> a[i,j] array([[ 9., 2.],[ 7., 4.]]
同一時候還支持 下面幾種索引方式。與MATLAB相似

>>> a[:,1] array([ 6., 7., 9., 4., 3.]) >>> a[:,3] array([ 9., 1., 3., 0., 9.]) >>> a[1,:] array([ 4., 7., 2., 1.]) >>> a[:,1:3] array([[ 6., 4.],[ 7., 2.],[ 9., 7.],[ 4., 6.],[ 3., 2.]])
3,矩陣算術運算

>>> a array([[ 4., 6., 4., 9.],[ 4., 7., 2., 1.],[ 4., 9., 7., 3.],[ 5., 4., 6., 0.],[ 4., 3., 2., 9.]]) >>> a.sum() 93.0 >>> a.sum(axis=0) #行相加 array([ 21., 29., 21., 22.]) >>> a.sum(axis=1) #列相加 array([ 23., 14., 23., 15., 18.]) >>> a.min() 0.0 >>> a.min(axis=0) array([ 4., 3., 2., 0.]) >>> a.min(axis=1) array([ 4., 1., 3., 0., 2.]) >>> a.max() 9.0 >>> a.max(axis=0) array([ 5., 9., 7., 9.]) >>> a.max(axis=1) array([ 9., 7., 9., 6., 9.])
數組之間算術運算

a+b; a-b



很多其它可參考:Tentative NumPy Tutorial

總結

以上是生活随笔為你收集整理的NumPy基础入门学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。