目录
一.numpy介绍
NumPy是什么?
NumPy(Numerical Python的缩写)是一个开源的Python科学计算模块,其中包含了许多实用的数学函数,用来处理数值型数据。
为什么要学习NumPy?
1. 很多更高级的扩展模块都依赖于NumPy,比如pandas
2. NumPy中有计算平均数、中位数等数学相关的内置函数,可以在代码中省去很多的循环语句,帮助我们更加快速和科学地进行计算
3. NumPy提供了一个叫做N维数组的数据结构,它和Python中的列表list类似,但前者的输入输出性能远优于后者
本节内容:
1. N维数组的基本概念和常用属性
2. 创建一个N维数组
3. N维数组的运算
二.数组
(1)N维数组介绍
N维数组(ndarray)是一个多维数组,描述了相同类型数据的集合。例:
N维数组的描述:最常用的两个属性分别是数据类型和维度。
1.元素类型:需要注意的是,NumPy数组中的所有元素类型必须是一致的。
2.维度:NumPy数组的维度和我们平常说的维度非常相似,接触最多的通常是一维(1D)和二维(2D)数组,可以通过中括号[ ]的层数来确定。
[...]表示一维数组,和Python中的列表长得很像。
在使用print()输出时,它们的区别在于数组之间的元素是用空格分隔,而列表是以逗号分隔。
一维数组的所有元素都在同一「行」里,一行中可以有很多元素。
[[...]]表示二维数组。
二维数组中的每个元素都是一个一维数组,并且每一行的元素数量都是一致的。
在二维数组中:
行数代表二维数组中一维数组的数量;
列数代表一维数组中元素的数量。
以此类推,[[[...]]]表示三维数组,三维数组中的每个元素都是一个二维数组;[[[[...]]]]表示四维数组,四维数组中的每个元素都是一个三维数组...
由于三维及三维以上的数组多用于复杂的科学计算中,平常很少能接触到,所以在这里我们就不进行系统地学习啦。
(2) N维数组的创建
1.导入和安装Numpy
安装numpy非常简单,在终端中输入代码:
pip install numpy
即可。如果在自己电脑上安装不上或安装缓慢,可在命令后添加如下配置进行加速:
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple/(清华镜像源)
2.创建 N维数组
最简单的方法调用Numpy的array()函数
(任意序列型对象,也就是列表、元组、数组等数据结构,都可以作为参数传入。)
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr)
这三行代码创建了一个叫做“arr”的一维数组,并输出了该数组。
第一行导入了numpy,并使用"np"作为该模块的简写。
第二行将一个元素全是整型的列表作为参数传入到np.array()
中,并将函数返回的结果赋值给了变量arr。
第三行输出了该数组,也就是[1 2 3 4 5]。
掌握了如何创建一维数组后,我们来学习如何创建二维数组。
把「序列中套了一个或多个序列」的数据结构作为参数传入np.array()
函数里,会返回一个对应的二维数组。
图中展示了一个列表里套了三个列表的数据结构以及它所生成的二维数组,该二维数组中一共有3个一维数组,其中一维数组中有3个元素:
(3)N维数组的计算
1. 数组和数的计算
当数组和数字进行计算的时候,NumPy会将该数字的计算过程应用到数组的所有元素上面。
示例中,在把数组arr和数字2相加时,arr中的每个元素都和2进行了运算:# 使用import导入numpy,并使用"np"作为该模块的简写 import numpy as np # 使用np.array()函数新建数组arr arr = np.array([[0.2, 0.9], [0.5, 0.1], [0.1, 0.7]]) # 输出 arr+2 的运算结果 print(arr+2)
output:
[[2.2 2.9] [2.5 2.1] [2.1 2.7]]
2. 相同形状数组的计算
当相同形状的数组进行计算时,运算也是在相应的元素上进行。
示例中,arrOne是一个2x3的二维数组,arrTwo也是一个2x3的二维数组。
在计算 arrOne-arrTwo 时,arrOne中每个元素都减去了在arrTwo中相对应位置的元素:
本次讲解我们只用简单了解N维数组的一些基础知识。
如果大家想进一步学习NumPy的有关知识,可以前往【NumPy官方】学习。