- 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kun1280437633/article/details/80355988
函数
demo:
import numpy as npb = np.arange(3)
print (b)
print (np.exp(b))
print (np.sqrt(b))
结果:
[0 1 2][ 1. 2.71828183 7.3890561 ]
[ 0. 1. 1.41421356]
a = np.floor(10*np.random.random((3,4))) # floor向下取整
print (a)
a = np.floor(10*np.random.random((3,4)))
print (a)
print (('- - - - - -'))
print (a.ravel()) # 转换成一维
print (('- - - - - -'))
a.shape = (6,2)
print (a)
print (('- - - - - -'))
print (a.T) # 转置
结果:
[[ 8. 9. 3. 6.][ 3. 3. 0. 5.]
[ 5. 1. 1. 5.]]
- - - - - -
[ 8. 9. 3. 6. 3. 3. 0. 5. 5. 1. 1. 5.]
- - - - - -
[[ 8. 9.]
[ 3. 6.]
[ 3. 3.]
[ 0. 5.]
[ 5. 1.]
[ 1. 5.]]
- - - - - -
[[ 8. 3. 3. 0. 5. 1.]
[ 9. 6. 3. 5. 1. 5.]]
demo:
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.vstack((a,b))) # 行拼接
print (('- - - - - -'))
print (np.hstack((a,b))) # 列拼接
结果:
[[ 7. 4.][ 5. 0.]]
- - - - - -
[[ 3. 1.]
[ 8. 0.]]
- - - - - -
[[ 7. 4.]
[ 5. 0.]
[ 3. 1.]
[ 8. 0.]]
- - - - - -
[[ 7. 4. 3. 1.]
[ 5. 0. 8. 0.]]
demo:
扫描二维码关注公众号,回复:
1040820 查看本文章
a = np.floor(10*np.random.random((2,12)))print (a)
print (('- - - - - -'))
print (np.hsplit(a,3)) # 左右平均切成3份
print (('- - - - - -'))
print (np.hsplit(a,(3,4))) # 从左往右在3和4的位置切
print (('- - - - - -'))
a = np.floor(10*np.random.random((12,2)))
print (a)
print (np.vsplit(a,3)) # 上下平均切成3份
结果:
[[ 7. 8. 7. 3. 3. 1. 1. 4. 6. 1. 8. 3.][ 6. 8. 8. 0. 6. 2. 9. 9. 8. 0. 5. 6.]]
- - - - - -
[array([[ 7., 8., 7., 3.],
[ 6., 8., 8., 0.]]), array([[ 3., 1., 1., 4.],
[ 6., 2., 9., 9.]]), array([[ 6., 1., 8., 3.],
[ 8., 0., 5., 6.]])]
- - - - - -
[array([[ 7., 8., 7.],
[ 6., 8., 8.]]), array([[ 3.],
[ 0.]]), array([[ 3., 1., 1., 4., 6., 1., 8., 3.],
[ 6., 2., 9., 9., 8., 0., 5., 6.]])]
- - - - - -
[[ 5. 1.]
[ 8. 7.]
[ 5. 4.]
[ 1. 3.]
[ 2. 3.]
[ 4. 9.]
[ 4. 9.]
[ 5. 8.]
[ 3. 9.]
[ 2. 3.]
[ 1. 8.]
[ 8. 9.]]
[array([[ 5., 1.],
[ 8., 7.],
[ 5., 4.],
[ 1., 3.]]), array([[ 2., 3.],
[ 4., 9.],
[ 4., 9.],
[ 5., 8.]]), array([[ 3., 9.],
[ 2., 3.],
[ 1., 8.],
[ 8., 9.]])]
demo:
a = np.arange(12)b = a # 可见深浅拷贝
print (a is b)
b.shape = 3,4
print(a.shape)
print (id(a))
print (id(b))
结果:
True(3, 4)
2146616911872
2146616911872
demo:
c = a.view()print (c is a)
c.shape = 2,6
print (a.shape)
c[0,4] = 1234
print (a)
print (id(a))
print (id(c))
结果:
False(3, 4)
[[ 0 1 2 3]
[1234 5 6 7]
[ 8 9 10 11]]
2146616911872
2146626768448
demo:
d = a.copy()print (d is a)
d[0,0] = 999
print (d)
print (a)
结果:
False[[ 999 1 2 3]
[1234 5 6 7]
[ 8 9 10 11]]
[[ 0 1 2 3]
[1234 5 6 7]
[ 8 9 10 11]]
demo:
data = np.sin(np.arange(20)).reshape(5,4)print (data)
ind = data.argmax(axis=0)
print (ind)
data_max = data[ind,range(data.shape[1])]
print (data_max)
结果:
[[ 0. 0.84147098 0.90929743 0.14112001][-0.7568025 -0.95892427 -0.2794155 0.6569866 ]
[ 0.98935825 0.41211849 -0.54402111 -0.99999021]
[-0.53657292 0.42016704 0.99060736 0.65028784]
[-0.28790332 -0.96139749 -0.75098725 0.14987721]]
[2 0 3 1]
[ 0.98935825 0.84147098 0.99060736 0.6569866 ]
demo:
a = np.arange(0,40,10)print (a)
b = np.tile(a,(3,5)) # tile是复制,参数1是复制谁,参数2是复制成什么样子
print (b)
结果:
[ 0 10 20 30][[ 0 10 20 30 0 10 20 30 0 10 20 30 0 10 20 30 0 10 20 30]
[ 0 10 20 30 0 10 20 30 0 10 20 30 0 10 20 30 0 10 20 30]
[ 0 10 20 30 0 10 20 30 0 10 20 30 0 10 20 30 0 10 20 30]]
demo:
a = np.array([[4,3,5],[1,2,1]])print (a)
print (('- - - - - -'))
b = np.sort(a,axis=1)
print (b)
print (('- - - - - -'))
a.sort(axis=1) #sort函数从小到大排序
print (a)
print (('- - - - - -'))
a = np.array([4,3,1,2])
j = np.argsort(a) #argsort函数返回的是数组值从小到大的索引值
print (j)
print (('- - - - - -'))
print (a[j])
结果:
[[4 3 5][1 2 1]]
- - - - - -
[[3 4 5]
[1 1 2]]
- - - - - -
[[3 4 5]
[1 1 2]]
- - - - - -
[2 3 1 0]
- - - - - -
[1 2 3 4]