NumPy数组(7)-- 数组的分割

        NumPy数组可以进行水平、垂直或深度分割,相关的函数有hsplit、vsplit、dsplit和split。我们可以将数组分割成相同大小的字数组,也可以指定原数组中需要分割的位置。

一、水平分割(hsplit):

    1、水平分割:

        即把数组沿着水平方向分割。

    2、实例:

a = arange(9).reshape(3,3)
print(a)

b = hsplit(a,3)
print(b[0])
print(b[1])
print(b[2])

输出结果:

[[0 1 2]
 [3 4 5]
 [6 7 8]]
[[0]
 [3]
 [6]]
[[1]
 [4]
 [7]]
[[2]
 [5]
 [8]]

 

 

 

二、垂直分割(vsplit):

    1、垂直分割:

        即把数组沿着垂直方向分割。

    2、实例:

a = arange(9).reshape(3,3)
print(a)

c = vsplit(a,3)
print(c[0])
print(c[1])
print(c[2])

输出结果:

[[0 1 2]
 [3 4 5]
 [6 7 8]]
 [[0 1 2]]
[[3 4 5]]
[[6 7 8]]

 

 

 

三、深度分割(dsplit):

    1、深度分割:

        即把数组按深度方向分割。

    2、实例:

a = arange(27).reshape(3,3,3)
print(a)

b = dsplit(a,3)
print(b)

输出结果:

[[[ 0  1  2]
  [ 3  4  5]
  [ 6  7  8]]

 [[ 9 10 11]
  [12 13 14]
  [15 16 17]]

 [[18 19 20]
  [21 22 23]
  [24 25 26]]]
[array([[[ 0],
        [ 3],
        [ 6]],

       [[ 9],
        [12],
        [15]],

       [[18],
        [21],
        [24]]]), array([[[ 1],
        [ 4],
        [ 7]],

       [[10],
        [13],
        [16]],

       [[19],
        [22],
        [25]]]), array([[[ 2],
        [ 5],
        [ 8]],

       [[11],
        [14],
        [17]],

       [[20],
        [23],
        [26]]])]

 

 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以回答这个问题。下面是每个例子的示例: 1. 创建numpy数组: ```python import numpy as np # 创建一个一维数组 arr1 = np.array([1, 2, 3, 4, 5]) # 创建一个二维数组 arr2 = np.array([[1, 2, 3], [4, 5, 6]]) ``` 2. 索引numpy数组: ```python # 索引一维数组 print(arr1[]) # 输出1 # 索引二维数组 print(arr2[, 1]) # 输出2 ``` 3. 切片numpy数组: ```python # 切片一维数组 print(arr1[1:4]) # 输出[2, 3, 4] # 切片二维数组 print(arr2[:, 1:]) # 输出[[2, 3], [5, 6]] ``` 4. 重塑numpy数组: ```python # 重塑一维数组 arr1_reshape = arr1.reshape((5, 1)) print(arr1_reshape) # 重塑二维数组 arr2_reshape = arr2.reshape((3, 2)) print(arr2_reshape) ``` 5. 转置numpy数组: ```python # 转置二维数组 arr2_transpose = arr2.T print(arr2_transpose) ``` 6. 排序numpy数组: ```python # 对一维数组排序 arr1_sort = np.sort(arr1) print(arr1_sort) # 对二维数组排序 arr2_sort = np.sort(arr2, axis=) print(arr2_sort) ``` 7. 去重numpy数组: ```python # 去重一维数组 arr1_unique = np.unique(arr1) print(arr1_unique) # 去重二维数组 arr2_unique = np.unique(arr2) print(arr2_unique) ``` 8. 拼接numpy数组: ```python # 拼接一维数组 arr1_concat = np.concatenate((arr1, [6, 7, 8])) print(arr1_concat) # 拼接二维数组 arr2_concat = np.concatenate((arr2, [[7, 8, 9]])) print(arr2_concat) ``` 9. 分割numpy数组: ```python # 分割一维数组 arr1_split = np.split(arr1, 2) print(arr1_split) # 分割二维数组 arr2_split = np.split(arr2, 2, axis=1) print(arr2_split) ``` 10. 统计numpy数组: ```python # 统计一维数组 print(np.mean(arr1)) # 输出3. print(np.std(arr1)) # 输出1.4142135623730951 # 统计二维数组 print(np.sum(arr2)) # 输出21 print(np.max(arr2)) # 输出6 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值