上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.2.2 数据处理:NumPy库简介
根据NumPy官方手册中的内容,我们可以发现NumPy数组和Python原生数组之间有几个重要的区别。
(1)NumPy数组在创建时具有固定的大小,与Python的原生数组对象(可以动态增长)不同。更改ndarray的大小将创建一个新数组并删除原来的数组。
(2)NumPy数组中的元素都需要具有相同的数据类型,因此这些元素在内存中的大小相同。只有当Python的原生数组里包含NumPy的对象时,才允许有不同大小元素的数组。
(3)NumPy数组有助于对大量数据进行基于高等数学和其他类型的操作,通常这些操作的执行效率更高,所需代码比使用Python原生数组更少。
(4)越来越多的基于Python的科学和数学软件包使用NumPy数组,虽然这些工具通常都支持将Python的原生数组作为参数,但其在处理之前还是会将输入的数组转换为NumPy数组,而且通常也会输出为NumPy数组。
NumPy库使用了C语言作为源代码脚本,因此可以快速地编译、运行,并且代码矢量化使得代码中没有任何显式的循环、索引,这使得NumPy库运行起来十分迅速。矢量化使得代码更加简洁、易读;代码的特殊优化使得代码更接近数学符号,更加易用、易懂。