numpy

1、

array=np.array([[1,2,3],[4,5,6]])
print(array)
print('number of dim:',array.ndim)
print('shape:',array.shape)
print('size:',array.size)

[[1 2 3]
 [4 5 6]]
number of dim: 2
shape:(2, 3)
size: 6

2、 

a=np.array([2,3,4],dtype=np.int)
print(a.dtype)#int32

a=np.array([2,3,4],dtype=np.int64)
print(a.dtype)#int64

a=np.array([2,3,4],dtype=np.float)
print(a.dtype)#float64

3、

a=np.array([[2,3,4],
           [4,5,6]])
print(a)

[[2 3 4]
 [4 5 6]]


a=np.zeros((3,4))
print(a)

[[0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]]

a=np.ones((3,4),dtype=np.int)
print(a)

[[1 1 1 1]
 [1 1 1 1]
 [1 1 1 1]]

#numpy.empty(shape, dtype=float, order=’C’)生成随机矩阵
a=np.empty((3,4),dtype=np.int)
print(a)

[[75975464 75975464        0        0]
 [       0        1        0        0]
 [      -2        0        1        0]]


4、

a=np.arange(10,20,2)
print(a)

[10 12 14 16 18]

a=np.arange(12).reshape((3,4))
print(a)

[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

a=np.linspace(1,10,20).reshape(4,5)#20个点
print(a)

[[ 1.          1.47368421  1.94736842  2.42105263  2.89473684]
 [ 3.36842105  3.84210526  4.31578947  4.78947368  5.26315789]
 [ 5.73684211  6.21052632  6.68421053  7.15789474  7.63157895]
 [ 8.10526316  8.57894737  9.05263158  9.52631579 10.        ]]

 

5、numpy的运算

a=np.array([10,20,30,40])
b=np.arange(4)
print(a+b)
print(a-b)

[10 21 32 43]
[10 19 28 37]

c=b**2#平方
print(c)

[0 1 4 9]

d=10*np.sin(a)#sin,cos
print(d)

[-5.44021111  9.12945251 -9.88031624  7.4511316 ]

print(b<3)
[ True  True  True False]

print(b==3)
[False False False  True]

a=np.array([[10,20],[20,30]])
b=np.arange(4).reshape((2,2))

print(a)
print(b)

[[10 20]
 [20 30]]
[[0 1]
 [2 3]]

c=a*b# 10*0,20*1,20*2 30*3
c_dot=np.dot(a,b)#矩阵乘法,10*0+20*2=40,10*1+20*3=70
c_dot_2=a.dot(b)


print(c)
print(c_dot)
print(c_dot_2)

[[ 0 20]
 [40 90]]
[[ 40  70]
 [ 60 110]]
[[ 40  70]
 [ 60 110]]

6、随机数

a=np.random.random((2,4))
print(a)
print(np.sum(a))
print(np.min(a))
print(np.max(a))

[[0.49084047 0.3994232  0.12456215 0.42124604]
 [0.56662939 0.62229082 0.16119717 0.65443615]]
3.440625387815034
0.12456215167184626
0.6544361489371282

a=np.random.random((2,4))
print(a)
print(np.sum(a,axis=1))#每一行求和
print(np.min(a,axis=0))#每一列最小值
print(np.max(a,axis=0))

[[0.48543396 0.44156964 0.18328309 0.60659941]
 [0.15943441 0.50285126 0.77918291 0.93131485]]
[1.71688609 2.37278344]
[0.15943441 0.44156964 0.18328309 0.60659941]
[0.48543396 0.50285126 0.77918291 0.93131485]

7、

a=np.arange(2,14).reshape((3,4))
print(a)
print(np.argmin(a))
print(np.argmax(a))
print(np.mean(a))
print(a.mean())
print(np.average(a))
print(np.median(a))
print(np.cumsum(a))#累加
print(np.diff(a))#累差
print(np.nonzero(a))#两个数组,一个行,一个列
print(np.sort(a))#每行排序
print(np.transpose(a))#转置
print(a.T)
print((a.T).dot(a))#矩阵乘法
print(np.clip(a,3,7))#小于3的等于3,大于7的等于7
print(np.mean(a,axis=0))#列


[[ 2  3  4  5]
 [ 6  7  8  9]
 [10 11 12 13]]
0
11
7.5
7.5
7.5
7.5
[ 2  5  9 14 20 27 35 44 54 65 77 90]
[[1 1 1]
 [1 1 1]
 [1 1 1]]
(array([0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2], dtype=int32), array([0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3], dtype=int32))
[[ 2  3  4  5]
 [ 6  7  8  9]
 [10 11 12 13]]
[[ 2  6 10]
 [ 3  7 11]
 [ 4  8 12]
 [ 5  9 13]]
[[ 2  6 10]
 [ 3  7 11]
 [ 4  8 12]
 [ 5  9 13]]
[[140 158 176 194]
 [158 179 200 221]
 [176 200 224 248]
 [194 221 248 275]]
[[3 3 4 5]
 [6 7 7 7]
 [7 7 7 7]]
[6. 7. 8. 9.]

 

8、numpy索引

a=np.arange(3,15).reshape((3,4))
print(a)
print(a[2])#输出第三行
print(a[1][1])#输出第二行第二列
print(a[2,1])#和上句功能一样,输出第三行第二列
print(a[2,:])#第三行所有数
print(a[:,1])#第二列多有数
print(a[1,1:2])#第二行第二列
print(a[1,1:3])#第二行第二列和第三列

for row in a:
    print(row)

for column in a.T:
    print(column)

print(a.flatten())
for item in a.flat:
    print(item)

[[ 3  4  5  6]
 [ 7  8  9 10]
 [11 12 13 14]]
[11 12 13 14]
8
12
[11 12 13 14]
[ 4  8 12]
[8]
[8 9]
[3 4 5 6]#第一行
[ 7  8  9 10]#第二行
[11 12 13 14]#第三行
[ 3  7 11]#第一列
[ 4  8 12]
[ 5  9 13]
[ 6 10 14]
[ 3  4  5  6  7  8  9 10 11 12 13 14]
3
4
5
6
7
8
9
10
11
12
13
14

 

9、array合并

a=np.array([1,1,1])
b=np.array([2,2,2])

print(np.vstack((a,b)))#vertical stack

[[1 1 1]
 [2 2 2]]

c=np.vstack((a,b))#vertical stack
print(a.shape,c.shape)

(3,) (2, 3)#前一个是序列,共3个元素;第二个是两行三列

d=np.hstack((a,b))#horizontal stack,左右合并
print(d)
print(d.shape)

[1 1 1 2 2 2]
(6,)

a=np.array([1,1,1])[:,np.newaxis]
b=np.array([2,2,2])[:,np.newaxis]

c=np.vstack((a,b))#vertical stack,上下合并
d=np.hstack((a,b))#horizontal stack,左右合并
print(a)
print(b)
print(c)
print(d)
print(c.shape,d.shape)

[[1]#a
 [1]
 [1]]
[[2]#b
 [2]
 [2]]
[[1]#上下合并
 [1]
 [1]
 [2]
 [2]
 [2]]
[[1 2]#左右合并
 [1 2]
 [1 2]]
(6, 1) (3, 2)

a=np.array([1,1,1])[:,np.newaxis]
b=np.array([2,2,2])[:,np.newaxis]
c=np.concatenate((a,b,b,a),axis=0)
print(c)

[[1]
 [1]
 [1]
 [2]
 [2]
 [2]
 [2]
 [2]
 [2]
 [1]
 [1]
 [1]]

10、array分割

a=np.arange(12).reshape((3,4))
print(a)

print(np.split(a,2,axis=1))#切割行,分成多列
print(np.array_split(a,3,axis=1))#不等分割
print(np.vsplit(a,3))#分割行
print(np.hsplit(a,2))#分割列


[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
[array([[0, 1],
       [4, 5],
       [8, 9]]), array([[ 2,  3],
       [ 6,  7],
       [10, 11]])]
[array([[0, 1],#不等分割
       [4, 5],
       [8, 9]]), array([[ 2],
       [ 6],
       [10]]), array([[ 3],
       [ 7],
       [11]])]
[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8,  9, 10, 11]])]
[array([[0, 1],
       [4, 5],
       [8, 9]]), array([[ 2,  3],
       [ 6,  7],
       [10, 11]])]

10、numpy的copy和deep copy

a=np.arange(4)
print(a)#[0 1 2 3]
b=a
c=a
d=b
print(b)#[0 1 2 3]
print(c)#[0 1 2 3]
print(d)#[0 1 2 3]
a[0]=1
print(a)#[1 1 2 3]
print(b)#[1 1 2 3]
print(c)#[1 1 2 3]
d[1:3]=[22,33]
print(a)#[ 1 22 33  3]
print(b)#[ 1 22 33  3]
b=a.copy()#deep.copy
print(b)# 1 22 33  3]
a[3]=100
print(a)#[  1  22  33 100]
print(b)#[ 1 22 33  3]

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值