NumPy 将一个数组分割(split)成几个小数组

将一个数组分割(split)成几个小数组

使用 hsplit 你能将数组沿着它的水平轴分割,或者指定返回相同形状数组的个数,或者指定在哪些列后发生分割:

>>> a = floor(10*random.random((2,12)))
>>> a
array([[ 8.,  8.,  3.,  9.,  0.,  4.,  3.,  0.,  0.,  6.,  4.,  4.],
       [ 0.,  3.,  2.,  9.,  6.,  0.,  4.,  5.,  7.,  5.,  1.,  4.]])
>>> hsplit(a,3)   # Split a into 3
[array([[ 8.,  8.,  3.,  9.],
       [ 0.,  3.,  2.,  9.]]), array([[ 0.,  4.,  3.,  0.],
       [ 6.,  0.,  4.,  5.]]), array([[ 0.,  6.,  4.,  4.],
       [ 7.,  5.,  1.,  4.]])]
>>> hsplit(a,(3,4))   # Split a after the third and the fourth column
[array([[ 8.,  8.,  3.],
       [ 0.,  3.,  2.]]), array([[ 9.],
       [ 9.]]), array([[ 0.,  4.,  3.,  0.,  0.,  6.,  4.,  4.],
       [ 6.,  0.,  4.,  5.,  7.,  5.,  1.,  4.]])]

vsplit 沿着纵向的轴分割, array split 允许指定沿哪个轴分割。


0
>>> a = floor(10*random.random((2,12)))
>>> a
array([[ 2.,  1.,  3.,  3.,  8.,  3.,  9.,  5.,  1.,  3.,  1.,  8.],
       [ 0.,  4.,  6.,  2.,  4.,  6.,  7.,  4.,  5.,  8.,  8.,  8.]])
>>>  hsplit(a,3)
  File "<stdin>", line 1
    hsplit(a,3)
    ^
IndentationError: unexpected indent
>>> hsplit(a,3)
[array([[ 2.,  1.,  3.,  3.],
       [ 0.,  4.,  6.,  2.]]), array([[ 8.,  3.,  9.,  5.],
       [ 4.,  6.,  7.,  4.]]), array([[ 1.,  3.,  1.,  8.],
       [ 5.,  8.,  8.,  8.]])]
>>> a
array([[ 2.,  1.,  3.,  3.,  8.,  3.,  9.,  5.,  1.,  3.,  1.,  8.],
       [ 0.,  4.,  6.,  2.,  4.,  6.,  7.,  4.,  5.,  8.,  8.,  8.]])
>>> b=hsplit(a,3)
>>> b
[array([[ 2.,  1.,  3.,  3.],
       [ 0.,  4.,  6.,  2.]]), array([[ 8.,  3.,  9.,  5.],
       [ 4.,  6.,  7.,  4.]]), array([[ 1.,  3.,  1.,  8.],
       [ 5.,  8.,  8.,  8.]])]
>>> b.shape
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'shape'
>>> type(b)
<type 'list'>
>>> type(a)
<type 'numpy.ndarray'>
>>> a.dtype
dtype('float64')
>>>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值