numpy學習整理

2022-09-20 06:03:09 字數 2793 閱讀 1829

今天先整理到這裡,剩下的下次再整理

1.改變形狀:

reshape()返回改變的陣列形狀,但無法改變源陣列形狀

resize() 可以改變源陣列形狀

r**el() 輸出類似c陣列的列表,和reshape()一樣,返回c似的陣列但無法改變源陣列形狀

例如:

>>> from numpy import *

>>> c = arange(24)

>>> print c

[ 0123

4567

891011

1213

1415

1617

1819

2021

2223]

>>> c.resize(4,6)

>>> print c

[[ 0 1 2 3 4 5]

[ 6 7 8 9 10 11]

[12 13 14 15 16 17]

[18 19 20 21 22 23]]

>>> c.reshape(3,8)

array([[ 0, 1, 2, 3, 4, 5, 6, 7],

[ 8, 9, 10, 11, 12, 13, 14, 15],

[16, 17, 18, 19, 20, 21, 22, 23]])

>>> print c

[[ 0 1 2 3 4 5]

[ 6 7 8 9 10 11]

[12 13 14 15 16 17]

[18 19 20 21 22 23]]

>>> print c.r**el()

[ 0123

4567

891011

1213

1415

1617

1819

2021

2223]

>>> print c

[[ 0 1 2 3 4 5]

[ 6 7 8 9 10 11]

[12 13 14 15 16 17]

[18 19 20 21 22 23]]

2.組合(stack)不同的陣列

vstack():橫向組合陣列

hstack():縱向組合陣列

column_stack():縱向組合陣列,和hstack()效果一樣,區別在哪,目前我也不懂…

row_stack(): 橫向組合陣列,和vstack()效果一樣,區別在哪,目前我也不懂…

>>> b = floor(10*random.random((2,2)))

>>> a = floor(10*random.random((2,2)))

>>> a

array([[ 6., 3.],

[ 9., 9.]])

>>> b

array([[ 9., 3.],

[ 6., 5.]])

>>> column_stack((a,b))

array([[ 6., 3., 9., 3.],

[ 9., 9., 6., 5.]])

>>> hstack((a,b))

array([[ 6., 3., 9., 3.],

[ 9., 9., 6., 5.]])

>>> row_stack((a,b))

array([[ 6., 3.],

[ 9., 9.],

[ 9., 3.],

[ 6., 5.]])

>>> vstack((a,b))

array([[ 6., 3.],

[ 9., 9.],

[ 9., 3.],

[ 6., 5.]])

>>>

3.複製(檢視複製)

不同的陣列物件分享同乙個資料。檢視方法創造乙個新的陣列物件「指向」同一資料。檢視複製之後,有獨立的資料形狀

但是這是淺複製,資料是同步的

>>> a = arange(12).reshape((3,4))

>>> a

array([[ 0, 1, 2, 3],

[ 4, 5, 6, 7],

[ 8, 9, 10, 11]])

>>> c = a.view()

>>> c

array([[ 0, 1, 2, 3],

[ 4, 5, 6, 7],

[ 8, 9, 10, 11]])

>>> c is a

false

>>> c.resize((2,6))

>>> c

array([[ 0, 1, 2, 3, 4, 5],

[ 6, 7, 8, 9, 10, 11]])

>>> a

array([[ 0, 1, 2, 3],

[ 4, 5, 6, 7],

[ 8, 9, 10, 11]])

>>> c[0] = 1234

>>> c

array([[ 1234, 1234, 1234, 1234, 1234, 1234],

[ 6, 7, 8, 9, 10, 11]])

>>> a

array([[1234, 1234, 1234, 1234],

[ 1234, 1234, 6, 7],

[ 8, 9, 10, 11]])

強化學習Numpy相關知識整理

在使用python進行強化學習 實驗的時候,numpy一定是會用到的乙個工具庫。numpy提供了很多有用的介面函式,但是要熟悉全部函式是有一定困難的。這裡整理一些強化學習中比較常用的api函式,並說明它們一般使用的位置。這個函式主要用於取出矩陣中最大元素的位置,常用於對dqn的輸出向量 import...

numpy學習(一) numpy基礎

此文為學習 理解numpy,numpy簡單入門教程整理的學習筆記 numpy是乙個功能強大的python庫,主要用於對多維陣列執行計算。numpy這個詞 於兩個單詞 numerical和python。a np.array 0,1,2,3,4 a np.array 0,1,2,3,4 1,2,3,4,...

Numpy學習筆記

測試檔案裡的資料排列型別最好是有規律的,不可以隨便,否則將發生一些錯誤 genfromtxt函式 genfromtxt函式建立陣列 資料 genfromtxt主要執行兩個迴圈運算。第乙個迴圈將檔案的每一行轉換成字串序列。第二個迴圈將每個字串序列轉換為相應的資料型別。genfromtxt能夠考慮缺失的...