NumPy快速入門

2021-07-22 09:17:19 字數 3716 閱讀 1868

python 2.7

ipython 4.1.2

in[1]: from numpy import *

in[2]: yuanzu = (4,5,6)

in[3]: ll = array(yuanzu)

in[4]: ll

out[4]: array([4, 5, 6])

in[5]: pylist = [0,1,2]

in[6]: jj = array(pylist)

in[7]: jj

out[7]: array([0, 1, 2])

in[95]: pylist1 = [1,2,3]

in[96]: pylist2 = [4,5,6]

in[100]: marray = array([pylist1,pylist2])

in[102]: marray

out[102]:

array([[1, 2, 3],

[4, 5, 6]])

以marray的array來說

in[102]: marray

out[102]:

array([[1, 2, 3],

[4, 5, 6]])

in[104]: marray[0][2]

out[104]: 3

in[105]: marray*2

out[105]:

array([[ 2, 4, 6],

[ 8, 10, 12]])

in[106]: marray*marray

out[106]:

array([[ 1, 4, 9],

[16, 25, 36]])

#由list構建

in[84]: mm = mat(pylist)

in[85]: mm

out[85]: matrix([[0, 1, 2]])

#由tuple構建

in[107]: oo = mat(yuanzu)

in[108]: oo

out[108]: matrix([[4, 5, 6]])

in[109]: pp = mat(marray)

in[110]: pp

out[110]:

matrix([[1, 2, 3],

[4, 5, 6]])

對下面的pp矩陣來操作

in[110]: pp

out[110]:

matrix([[1, 2, 3],

[4, 5, 6]])

in[111]: pp.shape

out[111]: (2l, 3l) #兩行三列的矩陣

in[116]: pp[1,2] #取第二行第三列元素

out[116]: 6

in[115]: pp[1,:] #取第二行,所有列

out[115]: matrix([[4, 5, 6]])

in[112]: pp.t

out[112]:

matrix([[1, 4],

[2, 5],

[3, 6]])

in[113]: pp*(pp.t)

out[113]:

matrix([[14, 32],

[32, 77]])

in[114]: multiply(pp,pp)

out[114]:

matrix([[ 1, 4, 9],

[16, 25, 36]])

in[119]: qq = mat([2,1,3]) #構建乙個新的matrix

in[120]: qq

out[120]: matrix([[2, 1, 3]])

in[121]: qq.sort() #進行遞增排序,改變原來資料

in[122]: qq

out[122]: matrix([[1, 2, 3]])

in[126]: cc = mat([[3,1,4],[2,3,4]]) #重新構建乙個矩陣

in[127]: cc

out[127]:

matrix([[3, 1, 4],

[2, 3, 4]])

in[128]: cc.argsort()

out[128]:

matrix([[1, 0, 2],

[0, 1, 2]], dtype=int64)

#比如說[3,1,4]這一行,元素先從小到大排序為[1,3,4],對應1的元素在原本的矩陣中索引應該是1,對應3的索引是0,4的索引是2,所以得出[1,0,2]

官方建議多使用array

一句話,matrix應該算是array的乙個分支,只是array的二維表示而已,matrix的操作,array都可以完成,值得注意的是,想要完成矩陣相乘,而不是對應相乘,array需要採用dot方法,舉個例子

#對應相乘

in[129]: marray*marray

out[129]:

array([[ 1, 4, 9],

[16, 25, 36]])

#矩陣相乘

in[130]: marray.dot(marray.t)

out[130]:

array([[14, 32],

[32, 77]])

2017.06.13-update

# 一些例子比較區別

>>> import numpy as np

>>> a = [[1,2],[2,3]]

>>> b = [[0,1],[0,1]]

>>> array_1 = np.array(a)

>>> array_2 = np.array(b)

>>> array_1*array_2

array([[0, 2],

[0, 3]])

>>> matrix_1 = np.matrix(a)

>>> matrix_2 = np.matrix(b)

>>> matrix_1*matrix_2

matrix([[0, 3],

[0, 5]])

>>> matrix_3 = np.matrix(array_1) # 可以直接轉換

>>> matrix_3

matrix([[1, 2],

[2, 3]])

>>> array_3 = np.array(matrix_1)

>>> array_3

array([[1, 2],

[2, 3]])

–也就是,沒事多用用array

利用python進行資料分析.wes mckinney著

機器學習實戰.peter harrington著

NumPy快速入門學習筆記

可以說是剛剛入門了python,最近需要做深度學習的任務,但是發現numpy的知識一無所知,所以應該靜下來學一學。寫這些東西,最重要的就是想要自己去用它,在這裡也跟自己提個醒,避免頻繁的陷入一些不必要的學習之中。要明白自己學習的目的,是為了用而學習,而不是為了學習而去學習 就目前階段,許多事物擺在眼...

Numpy快速入門 隨機數random模組指南

numpy numerical python 是高效能科學計算和資料分析的基礎包,內建的random模組用於生成隨機數,下面介紹常用的隨機數函式 1 np.random.seed argument 作用 如果使用相同的argument值,則每次生成的隨即數都相同。如果不設定這個值,則系統根據時間來自...

numpy簡單入門

numpy數以陣列為物件,將各種資料轉化成陣列,因此,我們學習的也就是陣列了,實際上它被稱之為ndarrays。建立乙個陣列 import numpy as np my array np.array 1,2,3,4,5 print my array print my array.shape 建立全部...