Python Numpy-实例
大约 3 分钟教学文档Python
Python Numpy-实例
import numpy as np
a=np.arange(10)
print(a)
[0 1 2 3 4 5 6 7 8 9]
#创建一维数组
b=np.array([1,2,3,4,5,6])
print(b)
[1 2 3 4 5 6]
#创建二维数组
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a)
[[1 2 3]
[4 5 6]
[7 8 9]]
#使用ndmin参数
a=np.array([1,2,3],ndmin=3)
print(a)
[[[1 2 3]]]
#使用dtype参数
a=np.array([1,2,3],dtype=np.float_)
print(a)
[1. 2. 3.]
#arange使用
x=np.arange(0,6,dtype=int)
print(x)
[0 1 2 3 4 5]
x=np.arange(10,20,2,dtype=float)
print(x)
[10. 12. 14. 16. 18.]
b=np.array([np.arange(1,4),np.arange(4,7),np.arange(7,10)])
print(b)
[[1 2 3]
[4 5 6]
[7 8 9]]
#随机数创建
x=np.random.random(size=4)
y=np.random.random(size=(3,4))
print(x)
print(y)
[0.42575093 0.11247134 0.41307214 0.3480736 ]
[[0.0322261 0.5847225 0.02359262 0.13097264]
[0.49357049 0.85223376 0.69135899 0.30925978]
[0.69135317 0.91255658 0.25044663 0.57732341]]
#正态分布
x=np.random.randn()
print(x)
x=np.random.randn(2,4)
print(x)
x=np.random.randn(2,3,4)
print(x)
0.15824600802379526
[[ 0.4768509 0.24555094 0.7497621 -0.50347583]
[-0.33740554 -0.73463468 -0.35245924 0.01175711]]
[[[ 2.00230198 0.58590954 0.50424234 1.4680439 ]
[-0.8460381 -1.56813899 0.07987284 0.72444417]
[-0.59357343 0.29859105 -1.29339262 -1.4218689 ]]
[[-0.73485158 0.22024444 -1.16606213 0.59380885]
[-2.28993068 0.36090519 -0.54448719 1.86579072]
[ 1.7452549 0.5924936 -0.21758878 0.02779147]]]
#指定期望和方差的正态分布
print(np.random.normal(loc=3,scale=4,size=(2,2,3))) #loc表示期望,scale表示方差
[[[ 4.25683694 7.64163979 5.15254376]
[ 2.82962654 3.98698176 8.14676925]]
[[-1.77015166 3.92924767 -2.70721887]
[ 2.77026444 8.16203482 5.89282347]]]
x=np.zeros(5)
print(x)
x=np.zeros((5),dtype=int)
print(x)
x=np.zeros((2,5))
print(x)
[0. 0. 0. 0. 0.]
[0 0 0 0 0]
[[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]]
x=np.ones(5)
print(x)
y=np.ones((3,4),dtype=int)
print(y)
z = np.ones_like(y)
print(z)
[1. 1. 1. 1. 1.]
[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]
[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]
x=np.arange(10)
print(x)
print(x[:-2])
print(x[-2:])
print(x[2:7:2])
[0 1 2 3 4 5 6 7 8 9]
[0 1 2 3 4 5 6 7]
[8 9]
[2 4 6]
x=np.arange(12)
a=x.reshape(3,4)
print(a)
# print(a[1])
# print(a[1][2])
# print(a[:,1])
# print(a[:-1,1])
print(a[:2,:2])
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[0 1]
[4 5]]
a = np.array([[1,2,3],[4,5,6]])
print(a.dtype)
print(a.shape)
print(a.size)
print(a.T)
print(a.flat)
for item in a.flat:
print(item)
int64
(2, 3)
6
[[1 4]
[2 5]
[3 6]]
<numpy.flatiter object at 0x3407340>
1
2
3
4
5
6
a = np.array([[1,2,3],[4,5,6]])
print(a.reshape(3,2))
print(a.ravel())#返回一维数组
print(a.resize(3,2))#功能与reshape相同,但是会改变a形状
[[1 2]
[3 4]
[5 6]]
[1 2 3 4 5 6]
a = np.arange(36).reshape(6,6)
print(a)
np.hsplit(a,3)
[[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]
[12 13 14 15 16 17]
[18 19 20 21 22 23]
[24 25 26 27 28 29]
[30 31 32 33 34 35]]
[array([[ 0, 1],
[ 6, 7],
[12, 13],
[18, 19],
[24, 25],
[30, 31]]),
array([[ 2, 3],
[ 8, 9],
[14, 15],
[20, 21],
[26, 27],
[32, 33]]),
array([[ 4, 5],
[10, 11],
[16, 17],
[22, 23],
[28, 29],
[34, 35]])]
a = np.arange(27).reshape(3,3,3)
print(a)
np.dsplit(a,3)
[[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]]
[[ 9 10 11]
[12 13 14]
[15 16 17]]
[[18 19 20]
[21 22 23]
[24 25 26]]]
[array([[[ 0],
[ 3],
[ 6]],
[[ 9],
[12],
[15]],
[[18],
[21],
[24]]]),
array([[[ 1],
[ 4],
[ 7]],
[[10],
[13],
[16]],
[[19],
[22],
[25]]]),
array([[[ 2],
[ 5],
[ 8]],
[[11],
[14],
[17]],
[[20],
[23],
[26]]])]
a=np.arange(4,dtype=np.float_).reshape(2,2)
b=np.arange(4,8,dtype=np.float_).reshape(2,2)
print(a)
print(b)
print(a+2)
print(a/b)
print((a==b).all())
print(a<2)
[[0. 1.]
[2. 3.]]
[[4. 5.]
[6. 7.]]
[[2. 3.]
[4. 5.]]
[[0. 0.2 ]
[0.33333333 0.42857143]]
False
[[ True True]
[False False]]
a=np.arange(4,dtype=np.float_).reshape(2,2)
print(a.sum())
print(a.prod())
print(a.mean())
print(a.max())
print(a.min())
print(a.clip(1,2))#小于等于1的元素替换为1,大于2的元素替换为2
print(a.var())
print(a.std())
print(a.ptp())
print(a.argmin())
print(a.argmax())
print(np.where(a==2))
print(np.diff(a))
print(np.log(a))
6.0
0.0
1.5
3.0
0.0
[[1. 1.]
[2. 2.]]
1.25
1.118033988749895
3.0
0
3
(array([1]), array([0]))
[[1.]
[1.]]
[[ -inf 0. ]
[0.69314718 1.09861229]]
/tmp/ipykernel_1747369/1422306437.py:15: RuntimeWarning: divide by zero encountered in log
print(np.log(a))
a=np.arange(9).reshape(3,3)
b=np.arange(9,18).reshape(3,3)
np.hstack((a,b))
np.vstack((a,b))
np.dstack((a,b))
array([[[ 0, 9],
[ 1, 10],
[ 2, 11]],
[[ 3, 12],
[ 4, 13],
[ 5, 14]],
[[ 6, 15],
[ 7, 16],
[ 8, 17]]])
