2、数组的变形、合并与拆分

本文介绍了NumPy数组的基本属性,包括维数、形状和类型,并展示了如何通过np.dim()、np.shape()和数组.dtype获取这些信息。接着探讨了数组的变形操作,如转置和reshape,以及如何使用np.r_[]和np.c_[]进行数组的合并。最后,阐述了如何利用np.split()按行或列拆分矩阵,提供了详细的示例和输出结果。
摘要由CSDN通过智能技术生成

一、数组的维数、形状和类型

a = np.array([[0, 1, 2, 3],
        [4, 5, 6, 7]])

(1) 维数: np.dim()

np.shape(a)

输出结果:

(2, 4)

(2) 形状: np.shape()

np.ndim(a)

输出结果:

2

(3) 类型:数组.dtype

a.dtype

输出结果:

dtype('int32')

二、数组的变形

(1) 转置:T

np.zeros((1, 3)).T

输出结果:

array([[0.],
       [0.],
       [0.]])

(2)维度变换:reshape
形状改变的前提是要求数组中元素的个数是相同的。reshape能够帮助用户把原数组按照新的维度重新排列。在使用时有两种模式,分别为C模式和F模式,分别以逐行和逐列的顺序进行填充读取。

三、数组的合并操作

(1) 上下合并np.r_[ ]

np.r_[np.zeros((2, 3)), np.zeros((2, 3))]

输出结果:

array([[0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.]])

(2) 左右合并np.c_[ ]

np.c[np.zeros((2, 3)), np.zeros((2, 3))]

输出结果:

array([[0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.]])

四、拆分矩阵
拆分矩阵与合并矩阵类似,都是等分。

在这里插入图片描述
0为横轴,1为纵轴

x = np.arange(24).reshape(4, 6)

显示结果:

array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23]])

(1)axis = 1是按列进行拆分

np.split(x, 2, axis=1)

结果显示:

[array([[ 0,  1,  2],
        [ 6,  7,  8],
        [12, 13, 14],
        [18, 19, 20]]),
 array([[ 3,  4,  5],
        [ 9, 10, 11],
        [15, 16, 17],
        [21, 22, 23]])]

(2)axis = 0是按行进行拆分

np.split(x, 2, axis=0)

结果显示:

[array([[ 0,  1,  2,  3,  4,  5],
        [ 6,  7,  8,  9, 10, 11]]),
 array([[12, 13, 14, 15, 16, 17],
        [18, 19, 20, 21, 22, 23]])]
`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值