python 矩阵拼接_Numpy基础4 矩阵取整 拉平 拼接 切分 复制等函数操作
Github源碼In [1]:
import numpy as np
B = np.arange(3)
print(B)
print(np.exp(B)) #返回e的冪次方,e是一個常數(shù)為2.71828
print(np.sqrt(B))# 開根號
[0 1 2]
[1. 2.71828183 7.3890561 ]
[0. 1. 1.41421356]
In [2]:
# floor向下取整 3.5 向下取整為 3
a = np.floor(10*np.random.random((3,4)))
print(a)
print(a.shape)
# 把矩陣?yán)?#xff0c;從矩陣?yán)闪讼蛄?返回新的 不改變原來的數(shù)據(jù)
print(a.ravel())
print(7777777777777777777777)
print(a)
print(a.shape)
a.shape = (6, 2)
print(a)
print(a.T) # 轉(zhuǎn)置
print(a.resize((2,6)))
print(a)
#If a dimension is given as -1 in a reshaping operation, the other dimensions are automatically calculated:
#a.reshape(3,-1) # 3行 -1自動計算
[[5. 2. 7. 0.]
[3. 6. 4. 7.]
[4. 0. 7. 7.]]
(3, 4)
[5. 2. 7. 0. 3. 6. 4. 7. 4. 0. 7. 7.]
7777777777777777777777
[[5. 2. 7. 0.]
[3. 6. 4. 7.]
[4. 0. 7. 7.]]
(3, 4)
[[5. 2.]
[7. 0.]
[3. 6.]
[4. 7.]
[4. 0.]
[7. 7.]]
[[5. 7. 3. 4. 4. 7.]
[2. 0. 6. 7. 0. 7.]]
None
[[5. 2. 7. 0. 3. 6.]
[4. 7. 4. 0. 7. 7.]]
In [4]:
# hstack 矩陣橫拼接,hstack 矩陣縱拼接
a = np.floor(10*np.random.random((2,2)))
b = np.floor(10*np.random.random((2,2)))
print(a)
print('---')
print(b)
print('---')
print(np.hstack((a,b)) )#橫拼接
print('---')
print(np.vstack((a,b)) ) #豎拼接
[[4. 2.]
[7. 1.]]
---
[[8. 4.]
[2. 1.]]
---
[[4. 2. 8. 4.]
[7. 1. 2. 1.]]
---
[[4. 2.]
[7. 1.]
[8. 4.]
[2. 1.]]
In [5]:
a = np.floor(10*np.random.random((2,12)))
print(a)
print('---')
print(np.hsplit(a,3)) #橫著切分 3分
print('---')
# 傳元組 就相當(dāng)于指定了一個位置 在(3,4)位置切一刀
print(np.hsplit(a,(3,4)) )
a = np.floor(10*np.random.random((12,2)))
print(a)
np.vsplit(a,3) #縱切分
[[1. 7. 6. 4. 7. 7. 5. 6. 8. 0. 1. 6.]
[7. 2. 2. 8. 6. 4. 6. 9. 5. 5. 4. 2.]]
---
[array([[1., 7., 6., 4.],
[7., 2., 2., 8.]]), array([[7., 7., 5., 6.],
[6., 4., 6., 9.]]), array([[8., 0., 1., 6.],
[5., 5., 4., 2.]])]
---
[array([[1., 7., 6.],
[7., 2., 2.]]), array([[4.],
[8.]]), array([[7., 7., 5., 6., 8., 0., 1., 6.],
[6., 4., 6., 9., 5., 5., 4., 2.]])]
[[9. 0.]
[1. 8.]
[3. 5.]
[8. 2.]
[7. 3.]
[0. 8.]
[7. 7.]
[5. 9.]
[4. 2.]
[1. 9.]
[9. 6.]
[3. 7.]]
Out[5]:
[array([[9., 0.],
[1., 8.],
[3., 5.],
[8., 2.]]), array([[7., 3.],
[0., 8.],
[7., 7.],
[5., 9.]]), array([[4., 2.],
[1., 9.],
[9., 6.],
[3., 7.]])]
In [8]:
#Simple assignments make no copy of array objects or of their data.
a = np.arange(12)
b = a
# a and b are two names for the same ndarray object
print(b is a)
b.shape = 3,4
print(a.shape)
print(id(a))
print(id(b)) # 名字不同 指向的內(nèi)存地址是一樣的
True
(3, 4)
86084464
86084464
In [7]:
#The view method creates a new array object that looks at the same data.
c = a.view()# 相當(dāng)于是一個淺復(fù)制 id值不一樣 但是公用的是一套值
print(c is a)
c.shape = 2,6
#print a.shape
c[0,4] = 1234
a
False
Out[7]:
array([[ 0, 1, 2, 3],
[1234, 5, 6, 7],
[ 8, 9, 10, 11]])
In [9]:
#The copy method makes a complete copy of the array and its data.
d = a.copy() # 深復(fù)制 么有關(guān)系的
print(d is a)
d[0,0] = 9999
print(a)
print(b)
False
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
本博客源碼Github地址:
請隨手給個star,謝謝!
總結(jié)
以上是生活随笔為你收集整理的python 矩阵拼接_Numpy基础4 矩阵取整 拉平 拼接 切分 复制等函数操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用卡尔曼滤波器跟踪导弹(量测更新频率与时
- 下一篇: c语言输出王字图形,专一的王子,C语言v