文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

numpy 学习笔记:Python 框架中的强大数据处理工具

2023-10-23 13:28

关注

NumPy 是 Python 中最重要的数据处理库之一,它提供了一种高效的多维数组对象以及相应的数学函数库。在本文中,我们将深入探讨 NumPy 的一些基本概念和常用方法。

安装 NumPy

要使用 NumPy,首先需要安装它。如果你使用的是 Anaconda,那么它已经默认安装了 NumPy。如果没有安装 Anaconda,可以通过以下命令在终端中安装 NumPy:

pip install numpy

创建 NumPy 数组

创建 NumPy 数组的方法有很多,最常见的方法是通过列表或元组创建。以下是一个例子:

import numpy as np

my_list = [1, 2, 3, 4, 5]
my_array = np.array(my_list)
print(my_array)

输出结果为:

[1 2 3 4 5]

还可以通过以下方式创建 NumPy 数组:

# 创建一个长度为 10 的空数组
my_array = np.empty(10)

# 创建一个长度为 10 的全 0 数组
my_array = np.zeros(10)

# 创建一个长度为 10 的全 1 数组
my_array = np.ones(10)

# 创建一个 3x3 的全 0 数组
my_array = np.zeros((3, 3))

# 创建一个 3x3 的全 1 数组
my_array = np.ones((3, 3))

# 创建一个 3x3 的单位矩阵
my_array = np.eye(3)

访问 NumPy 数组元素

访问 NumPy 数组的元素与访问 Python 列表的元素类似,可以通过下标访问。以下是一个例子:

import numpy as np

my_array = np.array([1, 2, 3, 4, 5])
print(my_array[0])

输出结果为:

1

当数组是二维或更高维时,需要使用多个下标来访问元素。以下是一个例子:

import numpy as np

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

输出结果为:

5

NumPy 数组的基本操作

NumPy 数组支持许多基本操作,如加法、减法、乘法、除法等。以下是一个例子:

import numpy as np

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

# 数组加法
print(my_array1 + my_array2)

# 数组减法
print(my_array1 - my_array2)

# 数组乘法
print(my_array1 * my_array2)

# 数组除法
print(my_array1 / my_array2)

输出结果为:

[5 7 9]
[-3 -3 -3]
[ 4 10 18]
[0.25 0.4  0.5 ]

NumPy 数组的广播

广播是 NumPy 中的一项重要特性,它使得 NumPy 数组可以在没有完全相同形状的情况下进行计算。以下是一个例子:

import numpy as np

my_array1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
my_array2 = np.array([1, 2, 3])

print(my_array1 + my_array2)

输出结果为:

[[ 2  4  6]
 [ 5  7  9]
 [ 8 10 12]]

在本例中,my_array2 被广播成了一个 3x3 的数组,并与 my_array1 相加。这是因为 my_array1 和 my_array2 的形状不同,但它们的尺寸可以相互匹配。这种匹配规则是:如果两个数组的尺寸不同,那么 NumPy 将沿着较小的数组添加维度。

NumPy 数组的转置

转置是将数组的行和列互换的操作。以下是一个例子:

import numpy as np

my_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(my_array.T)

输出结果为:

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

NumPy 数组的聚合函数

NumPy 提供了许多聚合函数,如 sum、mean、std、min、max 等。以下是一个例子:

import numpy as np

my_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 计算所有元素的和
print(np.sum(my_array))

# 计算每行的和
print(np.sum(my_array, axis=1))

# 计算每列的和
print(np.sum(my_array, axis=0))

# 计算所有元素的平均值
print(np.mean(my_array))

# 计算每行的平均值
print(np.mean(my_array, axis=1))

# 计算每列的平均值
print(np.mean(my_array, axis=0))

输出结果为:

45
[ 6 15 24]
[12 15 18]
5.0
[2. 5. 8.]
[4. 5. 6.]

NumPy 数组的索引和切片

NumPy 数组的索引和切片与 Python 列表类似,但有一些细微差别。以下是一个例子:

import numpy as np

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

# 获取数组的前三个元素
print(my_array[:3])

# 获取数组的第二个和第三个元素
print(my_array[1:3])

# 获取数组的后两个元素
print(my_array[-2:])

# 获取数组的所有元素,并每隔一个元素取一个
print(my_array[::2])

输出结果为:

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

总结

在本文中,我们介绍了 NumPy 的一些基本概念和常用方法,包括创建数组、访问元素、基本操作、广播、转置、聚合函数和索引/切片。NumPy 是 Python 数据处理的重要组成部分,希望本文能够帮助你更好地理解和使用它。

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

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

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

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

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

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

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

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