优草派 > Python

深入理解NumPy简明教程---数组1

赵天宇         优草派

NumPy是Python中一个非常强大的数学库,它提供了高性能的数值计算和数据分析工具。在NumPy中,最重要的对象就是数组(Array),也称为ndarray(N-dimensional Array)。数组是一种多维度的数据结构,它可以容纳多个元素,并且可以对这些元素进行各种数学计算。

在这篇文章中,我们将从多个角度深入理解NumPy中的数组。

深入理解NumPy简明教程---数组1

1. 数组的创建

NumPy数组可以通过多种方式进行创建。我们可以使用NumPy中的函数来创建数组,也可以从Python中的列表或元组中创建数组。以下是一些创建数组的示例代码:

```python

import numpy as np

# 从Python列表中创建数组

a = np.array([1, 2, 3])

print(a) # [1 2 3]

# 创建一个全为0的数组

b = np.zeros((2, 3))

print(b)

# [[0. 0. 0.]

# [0. 0. 0.]]

# 创建一个全为1的数组

c = np.ones((3, 2))

print(c)

# [[1. 1.]

# [1. 1.]

# [1. 1.]]

# 创建一个随机数组

d = np.random.random((2, 2))

print(d)

# [[0.12345678 0.98765432]

# [0.54321098 0.87654321]]

```

2. 数组的形状和维度

NumPy数组的形状和维度是非常重要的概念。形状指的是数组的维度和各维度的长度,而维度指的是数组的轴数。在NumPy中,我们可以使用数组的shape属性来获取数组的形状,使用数组的ndim属性来获取数组的维度数。

以下是一些示例代码:

```python

import numpy as np

# 创建一个二维数组

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

print(a.shape) # (2, 3)

print(a.ndim) # 2

# 创建一个三维数组

b = np.zeros((2, 3, 4))

print(b.shape) # (2, 3, 4)

print(b.ndim) # 3

```

3. 数组的索引和切片

NumPy数组的索引和切片与Python中的列表和元组非常相似。我们可以使用数组的下标来获取数组中的元素,也可以使用切片来获取数组中的子数组。下标从0开始,最后一个元素的下标为数组长度减1。

以下是一些示例代码:

```python

import numpy as np

# 创建一个二维数组

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

# 获取数组中的元素

print(a[0, 0]) # 1

print(a[1, 2]) # 6

# 获取数组中的子数组

print(a[:, 1:]) # [[2 3]

# [5 6]]

```

4. 数组的运算

NumPy数组支持多种数学运算,包括加法、减法、乘法、除法等。在进行运算时,NumPy会按照相应的规则对数组进行广播。广播是NumPy中的一个非常强大和重要的机制,它可以让我们在不同形状的数组之间进行运算。

以下是一些示例代码:

```python

import numpy as np

# 创建两个数组

a = np.array([[1, 2], [3, 4]])

b = np.array([[5, 6], [7, 8]])

# 数组加法

print(a + b)

# [[ 6 8]

# [10 12]]

# 数组乘法

print(a * b)

# [[ 5 12]

# [21 32]]

```

5. 数组的变形和转置

NumPy数组支持多种变形和转置操作。我们可以使用数组的reshape方法来改变数组的形状,也可以使用数组的transpose方法来进行转置操作。

以下是一些示例代码:

```python

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]]

# 转置数组

c = a.transpose()

print(c)

# [[1 4]

# [2 5]

# [3 6]]

```

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024