numpy一些简单的用法


import numpy as np
#垂直方向的拼接使用vstack,水平方向的拼接使用hstack(注意垂直方向列数要相同,水平方向拼接行数要相同)
vstack1 = np.random.randint(0,10,size=(3,4))
vstack1
array([[9, 5, 2, 4],
       [0, 7, 3, 9],
       [5, 6, 8, 0]])
vstack2 = np.random.randint(0,10,size=(2,4))
vstack2
​
array([[6, 7, 8, 0],
       [0, 1, 7, 5]])
vstack3 = np.vstack([vstack1,vstack2])
vstack3
array([[9, 5, 2, 4],
       [0, 7, 3, 9],
       [5, 6, 8, 0],
       [6, 7, 8, 0],
       [0, 1, 7, 5]])
面进行水平拼接
#下面进行水平拼接
hstack4 = np.random.randint(0,10,size=(4,4))
hstack4
array([[7, 1, 3, 6],
       [0, 1, 6, 7],
       [1, 8, 2, 0],
       [4, 1, 1, 7]])
hstack5 = np.random.randint(0,10,size=(4,2))
hstack5
array([[0, 2],
       [4, 4],
       [5, 7],
       [6, 1]])
hstack6 = np.hstack([hstack4,hstack5])
hstack6
array([[7, 1, 3, 6, 0, 2],
       [0, 1, 6, 7, 4, 4],
       [1, 8, 2, 0, 5, 7],
       [4, 1, 1, 7, 6, 1]])
使用reshape,resize
#数组变多维使用reshape,resize
a1 =np.arange(1,9)
a1
array([1, 2, 3, 4, 5, 6, 7, 8])
a2 =a1.reshape(4,2)
a2
array([[1, 2],
       [3, 4],
       [5, 6],
       [7, 8]])
a3 =a1.resize(2,4)
a3
a1
array([[1, 2, 3, 4],
       [5, 6, 7, 8]])
数组
#resize没有任何返回值,是将原来的数组直接修改
a4
a4 =np.arange(1,10)
a4
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
a5 =np.eye(3,3)
a5
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
数组
#使用eye()函数直接生成n行n列的单位数组,即主对角线全为1其余元素全为0
#数组的切割
#数组的切割
h1 = np.random.randint(0,10,size=(3,4))
print(h1)
np.hsplit(h1,(1,2))
#没有传递按什么方向分,默认按行分
[[5 1 8 1]
 [5 2 5 2]
 [1 1 4 8]]
[array([[5],
        [5],
        [1]]),
 array([[1],
        [2],
        [1]]),
 array([[8, 1],
        [5, 2],
        [4, 8]])]
v1 =np.random.randint(0,10,size=(4,5))
print(v1)
[[0 7 0 2 1]
 [8 4 7 0 7]
 [6 0 6 6 0]
 [4 7 6 3 6]]
np.vsplit(v1,(2,3))
[array([[0, 7, 0, 2, 1],
        [8, 4, 7, 0, 7]]),
 array([[6, 0, 6, 6, 0]]),
 array([[4, 7, 6, 3, 6]])]
切,认为是水平方向
#vsplit是按行切,即认为是垂直方向,hsplit是按列切,认为是水平方向
#数组的转置使用.T或transpose
b1 = np.arange(1,9)
print(b1)
[1 2 3 4 5 6 7 8]
c1
c1 = b1.reshape(2,4)
c1
array([[1, 2, 3, 4],
       [5, 6, 7, 8]])
c1.T
array([[1, 5],
       [2, 6],
       [3, 7],
       [4, 8]])
#可以看到使用.T对一个2行4列的数组进行了转置成为了4行2列的数组。
c1.transpose()
array([[1, 5],
       [2, 6],
       [3, 7],
       [4, 8]])
#可以看到与上述.T所产生的结果是相一致的

#这里的代码是用jupyter Notbook所写及运行的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值