一、NumPy
NumPy 是Numerical Python的简称,一直以来都是Python 中数值计算的基石,它提供了大多数Python数据科学计算所需要的数据结构和算法。对它的特性做以下介绍:
1.它有一个运算快速高效的多维数组对象ndarray。
2.NumPy库有用于对数组执行元素计算或数组之间的数学运算的函数或方法。
3.具备从磁盘读取数据集或将数据集写入磁盘的工具。
4.具备线性代数运算、傅里叶变换和随机数生成的能力。
5.对于数值数据,NumPy 数组比Python内置的数据结构更高效的存储和操作数据(后面代码验证)。
二、pandas
pandas库提供了高级数据结构和函数,使得结构化和表格数据的处理变得直观和灵活。有了pandas库的加持,Python 具备了一个强大而高效的数据分析环境。pandas具有两个主要的对象一个是DataFrame,它是一种表格式的、面向列的数据结构,具有行和列标签;另一个是Series,它是一个一维标记的数组对象。
pandas 将 NumPy 的数组计算思想与电子表格和关系数据库(如 SQL)中的各种数据操作功能相结合。它提供了方便的索引功能,使您能够重塑、切片和切块、执行聚合和选择数据子集。由于数据操作、准备和清理是数据分析中非常重要的技能,因此 pandas 是后面要学习的重点之一。
以上简单介绍了下NumPy和pandas的特性,下面逐步来学习NumPy和pandas进行数据分析,从NumPy开始。
三、深入学习NumPy
上一篇文章里我已经安装好了Python和开发工具VSCode。
首先我们得先导入NumPy库,这里要用到pip,安装好了Python后一般都会同时安装pip,我们可以打开命令提示符,输入pip --version命令查看pip版本号,如下图
表明pip已经安装,我安装的版本号是24.1.2。每次在使用pip前可以对pip进行更新到最新版,使用命令
python -m pip install --upgrade pip
保持pip更新主要是为了支持python的新特性。
正式导入NumPy库,使用命令pip install numpy。因为我已经安装过NumPy所以会现实以下信息,如果之前未安装,导入完成后会提示Success。导入的库位于python安装目录lib\site-packages里面。
下面我们打开VSCode开始学习使用NumPy。从创建一个NumPy数组,并跟原生等效的Python列表进行乘法运算效率比较。
输出以下结果:
NumPy数组中的每个元素乘2执行时长: 0.0028314590454101562秒
python列表中的每个元素乘2执行时长: 0.06599760055541992秒
从控制台输出结果可以看到NumPy数组的计算比同效的python列表快一个数量级以上,其实计算越复杂效果越明显。
四、NumPy的ndarray对象(多维数组对象)
ndarray是一个类,np.ndarray()其实是它的构造函数,得到一个 ndarray 对象,而 array() 其实是创建一个 ndarray对象的函数。两者得到的结果是一样的,后面的学习我都是用array()创建ndarray数组对象。以下代码创建了一个2*3的二维数组。
import numpy as np
data = np.array([[1.5, -0.1, 3], [0, -3, 6.5]])
print(data)
print(data * 10)
print(data + data)
print(data.shape)
print(data.dtype)
data*10是表示数组中每个元素都乘以10。
data+data是表示两个数组相同坐标位置的元素相加,在该位置上的值为相加后的值。
data.shape返回数组的形状。
data.dtype返回数组中元素的类型,上面的数组中的类型是float型。
今天先学到这,记到这了。