Python
Numpy知識總結(jié)
這里記錄下numpy常用的一些操作稻据,一些散亂的知識點。
數(shù)組和標量之間的運算
就是對數(shù)組進行批量的運算
import numpy as np
a = np.arange(15).reshape(3,5)
a
Out[3]:
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
a+2
Out[4]:
array([[ 2, 3, 4, 5, 6],
[ 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16]])
a+a
Out[5]:
array([[ 0, 2, 4, 6, 8],
[10, 12, 14, 16, 18],
[20, 22, 24, 26, 28]])
基本的索引和切片
上一篇买喧,我們大概介紹過數(shù)組的切片捻悯,這里的切片操作都是原數(shù)組的一個視圖,即原數(shù)組變化后淤毛,視圖也會變化
a
Out[7]:
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
a[1]
Out[8]: array([5, 6, 7, 8, 9])
a[1][2]
Out[9]: 7
a[1:2]
Out[10]: array([[5, 6, 7, 8, 9]])
b=a[1:2]
a[1:2]=0
b
Out[13]: array([[0, 0, 0, 0, 0]])
a
Out[14]:
array([[ 0, 1, 2, 3, 4],
[ 0, 0, 0, 0, 0],
[10, 11, 12, 13, 14]])
花式索引
花式索引今缚,就是利用整數(shù)數(shù)組進行索引。
x = np.empty((8,4))
for i in range(8):
x[i]=i
x
Out[18]:
array([[ 0., 0., 0., 0.],
[ 1., 1., 1., 1.],
[ 2., 2., 2., 2.],
...,
[ 5., 5., 5., 5.],
[ 6., 6., 6., 6.],
[ 7., 7., 7., 7.]])
x[[3,0,5]]
Out[19]:
array([[ 3., 3., 3., 3.],
[ 0., 0., 0., 0.],
[ 5., 5., 5., 5.]])
如果使用負數(shù)低淡,會從末尾開始選取
x[[-1,-2]]
Out[20]:
array([[ 7., 7., 7., 7.],
[ 6., 6., 6., 6.]])
數(shù)組的轉(zhuǎn)置
x
Out[21]:
array([[ 0., 0., 0., 0.],
[ 1., 1., 1., 1.],
[ 2., 2., 2., 2.],
...,
[ 5., 5., 5., 5.],
[ 6., 6., 6., 6.],
[ 7., 7., 7., 7.]])
x.T
Out[22]:
array([[ 0., 1., 2., ..., 5., 6., 7.],
[ 0., 1., 2., ..., 5., 6., 7.],
[ 0., 1., 2., ..., 5., 6., 7.],
[ 0., 1., 2., ..., 5., 6., 7.]])
上面的主要是軸對換姓言,轉(zhuǎn)置的話,看下這個例子(大學學的矩陣都忘了蔗蹋,得回顧下...)
轉(zhuǎn)置
一開始真迷糊了何荚,找了個解釋,明天再研究下這個函數(shù)
轉(zhuǎn)置-解釋