说明
NumPy 教程 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
NumPy 包的核心是 ndarray 对象,它封装了同数据类型的 n 维数组,许多操作都在代码编译后中执行,以便提高性能。 为了有效地使用很多(也许甚至是大多数)当今基于科学/数学的 Python 的软件,仅仅知道如何使用 Python 的内置序列类型是不够的,人们还需要知道如何使用 NumPy 数组。
NumPy 数组和标准 Python 序列之间有几个重要区别:
NumPy 数组在创建时具有固定的大小,这与 Python 列表(可以动态增长)不同。更改 ndarray 的大小将创建一个新数组并删除原始数组。
NumPy数组中的所有元素都必须具有相同的数据类型,因此在内存中的大小将相同。例外:一个对象可以具有(Python,包括 NumPy)对象的数组,从而允许数组具有不同大小的元素。
NumPy 数组有助于对大量数据进行高级数学运算和其他类型的运算。通常,与使用Python 的内置序列相比,执行此类操作的效率更高,所用代码更少。
越来越多的基于 Python 的科学和数学软件包都使用 NumPy 数组,虽然它们通常支持 Python 序列输入,但它们会在处理之前将此类输入转换为 NumPy 数组,并且通常会输出 NumPy 数组。
ndarray 支持一维到三维的数据结构:
NumPy 完全支持面向对象的方法,再次从 ndarray 开始。 例如,ndarray 是一个类,具有许多方法和属性, 它的许多方法都由最外层的 NumPy 命名空间中的函数反映,从而允许程序员以他们喜欢的任何范式进行编码。 这种灵活性使 NumPy 数组方言和 NumPy ndarray 类成为了 Python 中使用的多维数据交换的事实上的语言。
np.array 只是一个便捷的函数,用来创建一个 ndarray,它本身不是一个类,你也能够用 np.ndarray 来创建,但这不是推荐的方式。Arrays 能用 array、zeros 或 empty 来构造,这里的参数和一个实例化 array 的低层方法与有关。
ndarray 与 Pandas 的 Series 的 Dataframe 有什么区别呢?一维的 ndarray 与 Series 以及 n 维的 ndarray 与 n 列 Dataframe 看似非常像,但是 ndarray 没有索引(标签),因此不能非常好地直接面向业务的。由于有标签和字段说明,Pandas 才能利用 ndarray 强大的功能占领数据分析市场。
本教程会介绍它们之前的转换。
更新时间:Dec. 29, 2020, 6:22 p.m. 标签:numpy 数组