文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

想要成为 Python 大牛?先来学学 NumPy 的容器操作吧!

2023-06-14 00:13

关注

Python 是一种高级编程语言,其简洁的语法、丰富的库以及广泛的应用领域使得它成为了最受欢迎的编程语言之一。而 NumPy 作为 Python 的一个库,提供了一个强大的 N 维数组对象,以及许多用于操作这些数组的函数。在本文中,我们将介绍 NumPy 的容器操作,以及如何使用它们来处理数据。

一、NumPy 的安装

在开始之前,我们需要先安装 NumPy。可以使用 pip 命令轻松地安装 NumPy,只需在终端中输入以下命令:

pip install numpy

二、NumPy 的数组

NumPy 的核心是一个称为 ndarray 的多维数组对象。ndarray 是一个通用的数据容器,可以容纳任何类型的数据。数组的维度称为轴(axes),轴的个数称为秩(rank)。

我们可以使用 NumPy 的 array() 函数来创建一个数组,如下所示:

import numpy as np

# 创建一个一维数组
a = np.array([1, 2, 3])
print(a)  # 输出 [1 2 3]

# 创建一个二维数组
b = np.array([[1, 2, 3], [4, 5, 6]])
print(b)
"""
输出:
[[1 2 3]
 [4 5 6]]
"""

我们还可以使用一些其他的函数来创建数组,例如:

# 创建一个全是 0 的数组
c = np.zeros((2, 3))
print(c)
"""
输出:
[[0. 0. 0.]
 [0. 0. 0.]]
"""

# 创建一个全是 1 的数组
d = np.ones((3, 2))
print(d)
"""
输出:
[[1. 1.]
 [1. 1.]
 [1. 1.]]
"""

# 创建一个指定范围内的数组
e = np.arange(10)
print(e)  # 输出 [0 1 2 3 4 5 6 7 8 9]

f = np.arange(0, 10, 2)
print(f)  # 输出 [0 2 4 6 8]

三、NumPy 的容器操作

  1. 切片操作

在 NumPy 中,我们可以使用切片操作来获取数组的一个子集。切片操作的基本语法是:

array[start:stop:step]

其中,start 表示切片的起始位置,stop 表示切片的终止位置(不包括该位置的元素),step 表示切片的步长。如果没有指定 start 和 step,它们将默认为 0 和 1,如果没有指定 stop,它将默认为数组的长度。

下面是一些示例:

# 一维数组的切片操作
a = np.array([1, 2, 3, 4, 5])
print(a[1:4])   # 输出 [2 3 4]
print(a[:3])    # 输出 [1 2 3]
print(a[2:])    # 输出 [3 4 5]
print(a[::2])   # 输出 [1 3 5]

# 二维数组的切片操作
b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(b[:2, :2])
"""
输出:
[[1 2]
 [4 5]]
"""

print(b[1:, ::2])
"""
输出:
[[4 6]
 [7 9]]
"""
  1. 索引操作

在 NumPy 中,我们可以使用索引操作来获取数组的一个元素或者一个子数组。与 Python 的列表不同,NumPy 的数组可以在多个维度上进行索引。

下面是一些示例:

# 一维数组的索引操作
a = np.array([1, 2, 3, 4, 5])
print(a[3])     # 输出 4

# 二维数组的索引操作
b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(b[1, 2])  # 输出 6

# 三维数组的索引操作
c = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(c[1, 0, 1])   # 输出 6
  1. 改变数组的形状

在 NumPy 中,我们可以使用 reshape() 函数来改变数组的形状。reshape() 函数将数组变为一个新的形状,而不改变原始数组的数据。

下面是一些示例:

# 改变一维数组的形状
a = np.array([1, 2, 3, 4, 5, 6])
b = a.reshape((2, 3))
print(b)
"""
输出:
[[1 2 3]
 [4 5 6]]
"""

# 改变二维数组的形状
c = np.array([[1, 2, 3], [4, 5, 6]])
d = c.reshape((3, 2))
print(d)
"""
输出:
[[1 2]
 [3 4]
 [5 6]]
"""

# 改变三维数组的形状
e = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
f = e.reshape((2, 4))
print(f)
"""
输出:
[[1 2 3 4]
 [5 6 7 8]]
"""

四、演示代码

下面是一个完整的演示代码,展示了如何使用 NumPy 的容器操作来处理数据:

import numpy as np

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

# 切片操作
print(a[1:4])   # 输出 [2 3 4]
print(a[:3])    # 输出 [1 2 3]
print(a[2:])    # 输出 [3 4 5]
print(a[::2])   # 输出 [1 3 5]

# 改变数组的形状
b = a.reshape((5, 1))
print(b)
"""
输出:
[[1]
 [2]
 [3]
 [4]
 [5]]
"""

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

# 切片操作
print(c[:2, :2])
"""
输出:
[[1 2]
 [4 5]]
"""

print(c[1:, ::2])
"""
输出:
[[4 6]
 [7 9]]
"""

# 索引操作
print(c[1, 2])  # 输出 6

# 改变数组的形状
d = c.reshape((9,))
print(d)    # 输出 [1 2 3 4 5 6 7 8 9]

五、总结

在本文中,我们介绍了 NumPy 的容器操作,包括切片操作、索引操作以及改变数组形状的操作。这些操作可以帮助我们更加方便地处理数据,并且在数据科学、机器学习等领域中得到广泛的应用。如果你想要成为 Python 大牛,那么学习 NumPy 的容器操作是一个很好的起点。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯