numpy基础:数组与向量化计算

numpy是数值计算中最重要的基础包,大多数计算包都提供了基于numpy的科学计算函数,使用numpy的数组对象作为数据交换通用语。
对大多数数据分析应用,我们更关注:
1,在数据处理、清洗、构造子集、过滤、变换以及其他计算中进行快速的向量化计算。
2,常见的数组算法,如sort、unique、set等。
3,高效的描述性统计和聚合/概述数据。
4,数据排列与相关数据的操作,如对异构数据进行merge和join。
5,使用数组表达式表明条件逻辑,代替if-elif-else条件分支的循环。
6,分组数据的操作(聚合、变换、函数式操作)。

numpy的设计对于进行含大量数组数据的处理非常有效,而且: 1,numpy使用C语言编写,数组数据在内存中连续存储,故操作时不需要额外管理,且内存占用比python的内建序列少。 2,munpy可对全量数组进行计算而不需要编写python循环。
numpy基础:数组与向量化计算

1,numpy中的多维数组对象:ndarray

ndarray是numpy的核心。
它允许使用标量的方法在多维数组上进行整块的计算。
numpy基础:数组与向量化计算
1,生成ndarray
numpy基础:数组与向量化计算
更多函数可参考https://www.cnblogs.com/anyview/p/5041336.html 和https://docs.scipy.org/doc/numpy-1.13.0/contents.html

2,ndarry的数据类型

如前文所示,可用dtype来显示或指定ndarry的数据类型。它是numpy你能与其他系统数据进行交互的原因。
numpy基础:数组与向量化计算

3,numpy的数组算术

正如本章开头提到的“munpy可对全量数组进行计算而不需要编写python循环”,称这种特性为“向量化”。它将等大小数组的标量操作作用到数组的每一个元素:
numpy基础:数组与向量化计算

4,基础索引与切片

numpy有多种方式让使用者能从数组中选择子集:
1,一维数组与列表类似
numpy基础:数组与向量化计算
但一维数组切片的操作结果与python内建list的有所不同:
numpy基础:数组与向量化计算
这就是numpy数组向量化特性,接着看:
numpy基础:数组与向量化计算
看出来了,numpy数组的切片是原数组的真实视图,所有对切片的操作都会作用于原数组,这就是它与list的不同。

2,多维数组与C语言的多维数组类似
numpy基础:数组与向量化计算
numpy基础:数组与向量化计算
numpy基础:数组与向量化计算

未完待续。。。。。。