NumPy之二:数组形状操作

本文详细介绍了NumPy中的数组形状操作,包括如何使用reshape和resize改变数组形状,利用column_stack、hstack、vstack及concatenate进行数组堆叠,以及运用hsplit、vsplit和array_split进行数组分离。 reshape函数允许指定-1作为维度,自动计算大小,而resize方法会直接修改原数组。column_stack能将一维数组转化为二维数组的列,concatenate则允许灵活指定堆叠轴。此外,r_和c_提供了更便捷的数组创建方式。最后,hsplit、vsplit和array_split帮助我们按需分割数组。
摘要由CSDN通过智能技术生成

1. 改变数组形状

给定了每个axis上元素的数量,一个数组的形状就固定了。

>>> a = np.floor(10*np.random.random((3,4)))
>>> a
array([[ 2.,  8.,  0.,  6.],
       [ 4.,  5.,  1.,  1.],
       [ 8.,  9.,  3.,  6.]])
>>> a.shape
(3, 4)

通过一些命令,我们可以改变数组的形状:

>>> a.ravel() # flatten the array
array([ 2.,  8.,  0.,  6.,  4.,  5.,  1.,  1.,  8.,  9.,  3.,  6.])
>>> a.shape = (6, 2)
>>> a.T
array([[ 2.,  0.,  4.,  1.,  8.,  3.],
       [ 8.,  6.,  5.,  1.,  9.,  6.]])

reshape函数返回其参数指定的形状的数组,而ndarray.resize方法则会直接修改数组本身:

>>> a
array([[ 2.,  8.],
       [ 0.,  6.],
       [ 4.,  5.],
       [ 1.,  1.],
       [ 8.,  9.],
       [ 3.,  6.]])
>>> a.resize((2,6))
>>> a
array([[ 2.,  8.,  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值