欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

numpy.array 操作使用簡(jiǎn)單總結(jié)

 更新時(shí)間:2019年11月08日 14:30:20   作者:liu_coding  
這篇文章主要介紹了numpy.array 操作使用簡(jiǎn)單總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
import numpy as np

numpy.array 常用變量及參數(shù)

  • dtype變量,用來(lái)存放數(shù)據(jù)類型, 創(chuàng)建數(shù)組時(shí)可以同時(shí)指定。
  • shape變量, 存放數(shù)組的大小, 這人值是可變的, 只要確保無(wú)素個(gè)數(shù)不變的情況下可以任意修改。(-1為自動(dòng)適配, 保證個(gè)數(shù)不變)
  • reshape方法,創(chuàng)建一個(gè)改變了形狀的數(shù)組,與原數(shù)組是內(nèi)存共享的,即都指向同一塊內(nèi)存。 

創(chuàng)建數(shù)組的方法

np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]], dtype=np.float)
np.arange(0,1,0.1) #0到1之間步長(zhǎng)為0.1的數(shù)組, 數(shù)組中不包含1
np.linspace(0, 1, 5) # 開始:0, 結(jié)束1, 元素個(gè)數(shù) 5。 array([ 0. , 0.25, 0.5 , 0.75, 1. ])
np.logspace(0, 1, 5) # 開始:0, 結(jié)束1, 元素個(gè)數(shù) 5. array([ 10**0. , 10**0.25, 10**0.5 , 10**0.75, 10**1. ])
      # 結(jié)果是 array([ 1.  , 1.77827941, 3.16227766, 5.62341325, 10.  ])
 
s = 'abcdefg'
np.fromstring(s, dtype=np.int8)
 
def func2(i, j):
 return (i+1) * (j+1)
np.fromfunction(func2, (9,9))
 
np.ones((2, 2))
np.zero((2, 2))
np.eye(2)
 
#創(chuàng)建二維數(shù)組:
np.arange(0, 60, 10).reshape(-1, 1) + np.arange(0, 6)

數(shù)據(jù)讀取

通過下標(biāo)范圍獲取數(shù)據(jù): 與python list對(duì)象操作一致。 不同點(diǎn)是這方法獲取的數(shù)組與原數(shù)組是內(nèi)存共享的。

通過整數(shù)序列獲取新數(shù)組:例 x[[3,2,3,2] ], 產(chǎn)生新數(shù)組, 內(nèi)存不共享

使用布爾數(shù)組獲取數(shù)據(jù):例: x[np.array([True, False, True, False, False])] 或 x[x>0.5], 返回True對(duì)應(yīng)的數(shù)字。

代碼示例:

>>> x = np.arange(10)
>>> y = x[::-1]
>>> x
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> y
array([9, 8, 7, 6, 5, 4, 3, 2, 1, 0])
>>> y[0] = 100
>>> x
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 100])
>>> y
array([100, 8, 7, 6, 5, 4, 3, 2, 1, 0])
>>> x[0] = 99
>>> x
array([ 99, 1, 2, 3, 4, 5, 6, 7, 8, 100])
>>> y
array([100, 8, 7, 6, 5, 4, 3, 2, 1, 99])
>>> y = x[1:6]
>>> y
array([1, 2, 3, 4, 5])
>>> y[2] = 33
>>> y
array([ 1, 2, 33, 4, 5])
>>> x
array([ 99, 1, 2, 33, 4, 5, 6, 7, 8, 100])
>>> x[[3,2,3,2]]
array([33, 2, 33, 2])
>>> z = x[[3,2,3,2]]
>>> z
array([33, 2, 33, 2])
>>> z[3] = 4
>>> z
array([33, 2, 33, 4])
>>> x
array([ 99, 1, 2, 33, 4, 5, 6, 7, 8, 100])
>>> x[x>10]
array([ 99, 33, 100])
>>> 

數(shù)組擴(kuò)展

np.vstack((a, b)):  增加行數(shù), 把b數(shù)據(jù)追加到a的下面, 上下連接。
np.hstack((a, b)): 增加列數(shù),把a(bǔ), b左右連接。

>>> a = np.ones((3,3))
>>> b = np.eye(3)
>>> a
array([[ 1., 1., 1.],
  [ 1., 1., 1.],
  [ 1., 1., 1.]])
>>> b
array([[ 1., 0., 0.],
  [ 0., 1., 0.],
  [ 0., 0., 1.]])
>>> b *= 2
>>> b
array([[ 2., 0., 0.],
  [ 0., 2., 0.],
  [ 0., 0., 2.]])
>>> np.vstack((a, b))
array([[ 1., 1., 1.],
  [ 1., 1., 1.],
  [ 1., 1., 1.],
  [ 2., 0., 0.],
  [ 0., 2., 0.],
  [ 0., 0., 2.]])
>>> 
>>> np.hstack((a, b))
array([[ 1., 1., 1., 2., 0., 0.],
  [ 1., 1., 1., 0., 2., 0.],
  [ 1., 1., 1., 0., 0., 2.]])

ufunc運(yùn)算

ufunc是universal function的縮寫,它是一種能對(duì)數(shù)組的每個(gè)元素進(jìn)行操作的函數(shù)。NumPy內(nèi)置的許多ufunc函數(shù)都是在C語(yǔ)言級(jí)別實(shí)現(xiàn)的,因此它們的計(jì)算速度非???。

np.sin(x, x)
np.add(a, b) ~ a+b
np.subtract(a, b) ~ a-b
np.multiply(a, b) ~ a*b
divide ~ a/b
floor divide ~ a//b
negative ~ -a
power ~ a**b
remainder ~ a % b

注意:復(fù)雜運(yùn)算時(shí),中間步聚會(huì)有臨時(shí)變量,這會(huì)拖慢運(yùn)算速度。

如:

x = a*b + c

等價(jià)于

t = a*b
x = t + c
del t

所以可手動(dòng)優(yōu)化

x = a * b
x += c

二維數(shù)組轉(zhuǎn)一維 

>>> a
array([[ 1, 2, 3, 4],
  [ 4, 5, 6, 7],
  [ 7, 8, 9, 10]])
>>> a.ravel()
array([ 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10])

reshape函數(shù)可重新定義大小。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • pandas對(duì)dataFrame中某一個(gè)列的數(shù)據(jù)進(jìn)行處理的方法

    pandas對(duì)dataFrame中某一個(gè)列的數(shù)據(jù)進(jìn)行處理的方法

    這篇文章主要介紹了pandas對(duì)dataFrame中某一個(gè)列的數(shù)據(jù)進(jìn)行處理的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python的內(nèi)建模塊itertools的使用解析

    Python的內(nèi)建模塊itertools的使用解析

    這篇文章主要介紹了Python的內(nèi)建模塊itertools的使用解析,itertools是python的迭代器模塊,itertools提供的工具相當(dāng)高效且節(jié)省內(nèi)存,Python的內(nèi)建模塊itertools提供了非常有用的用于操作迭代對(duì)象的函數(shù),需要的朋友可以參考下
    2023-09-09
  • python根據(jù)用戶需求輸入想爬取的內(nèi)容及頁(yè)數(shù)爬取圖片方法詳解

    python根據(jù)用戶需求輸入想爬取的內(nèi)容及頁(yè)數(shù)爬取圖片方法詳解

    這篇文章主要介紹了python根據(jù)用戶需求輸入想爬取的內(nèi)容及頁(yè)數(shù)爬取圖片方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 詳解Python做一個(gè)名片管理系統(tǒng)

    詳解Python做一個(gè)名片管理系統(tǒng)

    這篇文章主要介紹了Python如何做一個(gè)名片管理系統(tǒng),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 解析python 類方法、對(duì)象方法、靜態(tài)方法

    解析python 類方法、對(duì)象方法、靜態(tài)方法

    這篇文章主要介紹了解析python 類方法、對(duì)象方法、靜態(tài)方法的的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-08-08
  • python使用MQTT給硬件傳輸圖片的實(shí)現(xiàn)方法

    python使用MQTT給硬件傳輸圖片的實(shí)現(xiàn)方法

    最近因需要用python寫一個(gè)微服務(wù)來(lái)用MQTT給硬件傳輸圖片,其中python用的是flask框架。這篇文章主要介紹了python使用MQTT給硬件傳輸圖片,需要的朋友可以參考下
    2019-05-05
  • python GUI編程(Tkinter) 創(chuàng)建子窗口及在窗口上用圖片繪圖實(shí)例

    python GUI編程(Tkinter) 創(chuàng)建子窗口及在窗口上用圖片繪圖實(shí)例

    這篇文章主要介紹了python GUI編程(Tkinter) 創(chuàng)建子窗口及在窗口上用圖片繪圖實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-03-03
  • Pycharm之快速定位到某行快捷鍵的方法

    Pycharm之快速定位到某行快捷鍵的方法

    今天小編就為大家分享一篇Pycharm之快速定位到某行快捷鍵的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-01-01
  • 詳解Python學(xué)習(xí)之安裝pandas

    詳解Python學(xué)習(xí)之安裝pandas

    這篇文章主要介紹了Python學(xué)習(xí)之安裝pandas,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • jupyter notebook運(yùn)行代碼沒反應(yīng)且in[ ]沒有*

    jupyter notebook運(yùn)行代碼沒反應(yīng)且in[ ]沒有*

    本文主要介紹了jupyter notebook運(yùn)行代碼沒反應(yīng)且in[ ]沒有*,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評(píng)論