当前位置:   article > 正文

Python--ndarray 数组常用操作_ndarray取第一个

ndarray取第一个


1. 二维数组的常见操作

  • 组合:把多个数组合并在一起
  • 拆分:把一个数组拆分成多个数组

对数组进行操作时,注意轴向

  • 水平方向合并
    在这里插入图片描述

  • 垂直方向合并
    在这里插入图片描述

  • 深度方向合并
    在这里插入图片描述

数组的合并要以业务为向导。
比如,需要查询一班与二班所有学生的成绩,就采用垂直合并两个班的学生成绩数组。

2. 二维数组的组合操作

numpy 对二维数组支持三个轴向的组合。

注意:
组合数组,两个数组需要在组合的方向上具有相同的行或列。

import numpy as np

a = np.arange(1, 7).reshape(2, 3)
b = np.arange(7, 13).reshape(2, 3)
print(a)
print(b)
print('-' * 20)

# 传入的参数为两个数组组成的元组
# 水平方向组合
c = np.hstack((a, b))
print(c)
print('-' * 20)
# 垂直方向组合
c = np.vstack((a, b))
print(c)
print('-' * 20)
# 深度方向组合
c = np.dstack((a, b))
print(c)
print('-'*20)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

在这里插入图片描述

3. 二维数组的拆分

numpy 对二维数组支持三个轴向的拆分。

注意:
拆分数组时,要保证数组能够被平分,否则会报错。
同时,接收拆分后数组的变量的个数需要与拆分后数组的个数相等。

import numpy as np

arr = np.arange(1, 13).reshape(3, 4)
print(arr)
print('-' * 20)

# 水平方向拆分
a, b = np.hsplit(arr, 2)
print(a)
print(b)
print('-' * 20)

# 垂直方向拆分
a, b, c = np.vsplit(arr, 3)
print(a)
print(b)
print(c)
print('-' * 20)

# 深度方向拆分只能在三维及以上的数组中
# 深度方向拆分
arr = np.dstack((arr, arr))
a, b = np.dsplit(arr, 2)
print(a)
print(b)
print('-' * 20)
  • 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

在这里插入图片描述
在这里插入图片描述

4. 组合与拆分数组的其他API

4.1 多维数组

  • 通过 axis 作为关键字参数指定组合的方向,取值如下:
    • 组合或拆分的数组为二维数组:
      • 0:垂直方向组合
      • 1:水平方向组合
    • 组合或拆分的数组为三维数组:
      • 0:垂直方向组合
      • 1:水平方向组合
      • 2:深度方向组合
import numpy as np

a = np.arange(1, 7).reshape(2, 3)
b = np.arange(7, 13).reshape(2, 3)
print(a)
print(b)
print('-' * 20)

# 第一个参数为要合并的两个数组组成的元组
# 第二个参数为合并的方向
c = np.concatenate((a, b), axis=0)
print(c)
print('-' * 20)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

import numpy as np

arr = np.arange(1, 7).reshape(2, 3)
print(arr)
print('-' * 20)

# 第一个参数为要拆分的数组
# 第二个参数为拆分后数组的个数
# 拆分的方向
a, b = np.split(arr, 2, axis=0)
print(a)
print(b)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

4.2 一维数组

import numpy as np

a = np.arange(1, 9)
b = np.arange(9, 17)
print(a)
print(b)
print()

# 把两个一维数组合并成两行(垂直方向合并)
c = np.row_stack((a, b))
print(c)
print()

# 把两个一维数组合并成两列(两个数组转置后合并)
c = np.column_stack((a, b))
print(c)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/142527
推荐阅读
相关标签
  

闽ICP备14008679号