一、NumPy和Pandas间的区别与练习
- 功能定位
NumPy主要用于数值计算,提供了多维数组对象ndarray,支持数组操作、线性代数、随机数生成等功能。
Pandas则建立在NumPy之上,提供了更高级的数据结构,主要用于数据分析,尤其是处理表格化数据。
- 数据结构
NumPy的核心是多维数组对象ndarray,它可以表示任意维度的数组。
Pandas提供了两种主要的数据结构:Series(一维标记数组)和DataFrame(二维带标签的数据表)。
- 索引方式
NumPy的数组只能使用整数索引访问元素。
Pandas的Series和DataFrame可以使用标签索引(如列名或行名)来访问数据,也可以通过整数位置索引访问。
- 擅长领域
NumPy特别擅长处理矩阵运算、数值计算等任务。
Pandas适合处理结构化的数据,如数据清洗、数据选择、数据转换等操作。
- 对缺失数据的处理
NumPy的数组不支持缺失数据,通常会用特殊值(如NaN)表示。
Pandas中的Series和DataFrame提供了更便捷的方法来处理缺失数据,如填充缺失值、删除缺失值等。
- 其他区别
NumPy 比 Pandas 更快且内存效率更高。
NumPy 主要用于数值计算,而 Pandas 用于更广泛的用途,例如数据分析和可视化。
NumPy 支持使用矩阵和数组数据格式,其中 Pandas 可以与表数据、Excel 文件、CSV 文件等一起使用。
NumPy 使用数组作为其主要对象,并且默认情况下也不索引。Pandas 使用系列和数据框作为其主要对象,并默认提供索引。
联系:
DataFrame 的列是 Series 对象,可以通过列索引对列进行访问和操作。
二、numpy
【介绍】
NumPy 是 Python 中的科学计算包/库。它提供了一个多维的数组对象以及多个派生对象,例如屏蔽数组和矩阵。NumPy 包的核心是ndarray 。它负责封装同质数据类型的 n 维数组,提供优化的代码编译,使其性能非常好。它从根本上用于执行数学和逻辑运算、实现基本线性代数、操作数组形状、排序和选择、I/O、执行离散傅立叶变换等。
【使用numpy的原因及其优势】
快:虽然 Python 列表也是数组,但这些列表的处理时间比 NumPy 数组慢 50 倍,使其