NumPy操作数组最常用的7个方法(组合、分裂、运算、广播…)

NumPy操作数组最常用的7个方法(组合、分裂、运算、广播...)

NumPy数组支持许多常用的操作方法,包括索引、切片、聚合函数、广播等等。在本文章中将会介绍一些Numpy数组常用的操作方法。

NumPy 数组切片

可以使用切片来访问NumPy数组中的子数组。例如:

import numpy as np

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

输出结果为:

[[2 3]
 [5 6]]

NumPy 数组形状操作

可以使用NumPy的reshape函数来更改数组的形状。例如:

import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])
b = a.reshape(3, 2)
print(b)

输出结果为:

[[1 2]
 [3 4]
 [5 6]]

NumPy 数组组合

NumPy数组还支持数组组合,示例代码:

import numpy as np

# 创建两个一维数组
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

# 将两个数组在行方向组合
c = np.concatenate((a, b))
print(c)

# 将两个数组在列方向组合
d = np.stack((a, b), axis=1)
print(d)

NumPy 数组分裂

NumPy数组支持将一个数组分裂成多个,方法很简单,示例如下:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])
new_arr = np.split(arr, 3)
print(new_arr)

输出结果为:

[array([1, 2]), array([3, 4]), array([5, 6])]

NumPy 数组运算

NumPy还可以快捷方面地对数组进行运算,例如:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
new_arr = arr1 + arr2
print(new_arr)

NumPy 数组广播

广播是 NumPy 数组中的一个重要功能,可以在形状不同的数组之间执行二元操作。例如:

import numpy as np

# 创建一个形状为(3, 3)的矩阵
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 创建一个形状为(3, 1)的向量
b = np.array([[10], [20], [30]])

# 使用广播将向量b加到矩阵a的每一行
c = a + b

print(c)

输出结果如下:

[[11 12 13]
 [24 25 26]
 [37 38 39]]

Numpy 聚合函数

NumPy数组还支持许多聚合函数,例如 sum()、mean()、max()、min() 等等。示例代码:

import numpy as np

# 创建一个 3x3 的二维数组
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 求和
print(np.sum(a))  # 输出 45
print(np.sum(a, axis=0))  # 沿第 0 轴求和,输出 [12 15 18]
print(np.sum(a, axis=1))  # 沿第 1 轴求和,输出 [ 6 15 24]

# 平均值
print(np.mean(a))  # 输出 5.0
print(np.mean(a, axis=0))  # 沿第 0 轴求平均值,输出 [4. 5. 6.]
print(np.mean(a, axis=1))  # 沿第 1 轴求平均值,输出 [2. 5. 8.]

# 最大值和最小值
print(np.max(a))  # 输出 9
print(np.max(a, axis=0))  # 沿第 0 轴求最大值,输出 [7 8 9]
print(np.max(a, axis=1))  # 沿第 1 轴求最大值,输出 [3 6 9]
print(np.min(a))  # 输出 1
print(np.min(a, axis=0))  # 沿第 0 轴求最小值,输出 [1 2 3]
print(np.min(a, axis=1))  # 沿第 1 轴求最小值,输出 [1 4 7]

以上就是NumPy最常用的操作数组的方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:NumPy操作数组最常用的7个方法(组合、分裂、运算、广播…) - Python技术站

(1)
上一篇 2023年2月27日 下午9:24
下一篇 2023年2月28日 下午8:17

相关文章

  • numpy数组坐标轴问题解决

    以下是关于NumPy数组坐标轴问题解决的攻略: NumPy数组坐标轴问题解决 在NumPy中,数组的坐标轴是非常重要的概念。在一些操作中,需要指定沿着哪个坐标轴进行操作。以下是一些解决NumPy数组坐标轴问题的方法: transpose()函数 可以使用NumPy的transpose()函数来交换数组的维度。以下是一个示例: import numpy as …

    python 2023年5月14日
    00
  • 针对Pandas的总结以及数据读取_pd.read_csv()的使用详解

    针对Pandas的总结以及数据读取_pd.read_csv()的使用详解 Pandas是一个基于NumPy的Python数据分析库,它提供了高效的数据结构和数据分析工具,可以帮助我们快速地处理和分析数据。本攻略将详细讲解Pandas的基本概念和常用操作,并提供两个数据读取的示例。 Pandas基本概念 Pandas中最常用的两个数据结构是Series和Dat…

    python 2023年5月14日
    00
  • Python3利用Dlib19.7实现摄像头人脸识别的方法

    Python3利用Dlib19.7实现摄像头人脸识别的方法 Dlib是一个C++库,提供了一系列机器学习算法和工具,包括人脸检测、人脸关键点检、人脸识别等。本文将介绍如何使用Python3和Dlib19.7实现摄像头人脸识别的方法。 安装Dlib 在开始之前,我们需要先安装Dlib库。可以使用以下命令在Python中安装Dlib: pip install d…

    python 2023年5月14日
    00
  • numpy.where() 用法详解

    numpy.where()用法详解 numpy.where()是NumPy库中的一个函数,用于根据指定的条件返回输入数组中的元素。它的语法如下: numpy.where(condition[, x, y]) 其中,condition是一个布尔型数组,用于指定元素是否足条件;x和y是两个可选参数,用于指定满足条件和不满足条件的元素的替代值。只传入conditi…

    python 2023年5月13日
    00
  • 详解Python NumPy中矩阵和通用函数的使用

    以下是详解Python NumPy中矩阵和通用函数的使用: 矩阵 在NumPy中,矩阵是二维的ndarray对象。您可以使用NumPy中的mat函数来创建矩阵。以下是一个创建矩阵的示例: import numpy as np a = np.mat([[1, 2], [3, 4]]) print(a) 输出: [[1 2] [3 4]] 您还可以使用NumPy…

    python 2023年5月14日
    00
  • NumPy迭代数组的实现

    以下是NumPy迭代数组的实现: 迭代数组 NumPy中的ndarray对象可以使用Python中的迭代器进行迭代。以下是一个使用Python中的迭代器迭代数组的示例: import numpy as np a = np.array([1, 2, 3]) for x in a: print(x) 输出: 1 2 3 以下是一个使用Python中的迭代器迭代二…

    python 2023年5月14日
    00
  • Python如何生成指定区间中的随机数

    在Python中,可以使用random模块来生成指定区间中的随机数。random模块提供了许多函数来生成不同类型的随机数。本文将详细介绍如何使用random块生成指定间中的随机数,并提供两个示例。 生成指定区间的整数随机数 要生成指定区的整数随机数,可以使用randint()函数。randint()函数接受两个参数,表示随机数的范围。例如,要生成1到10之间…

    python 2023年5月14日
    00
  • Numpy 三维数组索引与切片的实现

    以下是关于“Numpy 三维数组索引与切片的实现”的完整攻略。 背景 在NumPy中,三维数组是由多个二维数组组成的。在本攻略中,我们将介绍如何使用索引和切片来访和操作三维数组中的元素。 实现 索引 以下是一个示例,展示如何使用索引访问三维数组中的元素: import numpy as np a = np.array([[[, 2, 3], [4, 5, 6…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部