目录:
文章目录
一 Numpy及其重要性
- Numpy(Numerical Python)是高性能科学计算和数据分析的基础包,它是几乎所有数据分析高级工具的构建基础。
① ndarray ,一个具有矢量算数运算和复杂广播能力的快速且节省空间的多维数组。
② 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。
③ 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。
④ 线性代数、随机数生成及傅里叶变换功能。
⑤ 用于集成由C,C++,Fortran等语言编写的代码的工具CAPI,将数据传递给外部库(生态系统角度)。
⑥ Numpy本身并没有提供多么高级的数据分析功能,理解Numpy数组以及面向数组的计算将有助于你更加高效地使用pandas等工具。精通面向数组的编程和思维方式是成为Python科学计算牛人的一大关键步骤。
- 对于大部分数据分析应用而言,最关注的功能主要集中于:
① 用于数据整理、自己构建、过滤、转换等快速的矢量化数组运算。
② 常用的数组算法,如排序、唯一化、集合运算等。
③ 高效的描述统计和数据聚合/摘要运算。
④ 用于异构数据集的合并/连接运算的数据对齐和关系型数据运算。
⑤ 将条件逻辑表述为数组表达式(而不是带有if-elif-else分支的循环)。
⑥ 数据的分组运算(聚合、转换、函数应用等)。
二 ndarray:一种多维数组对象
- Numpy最重要的一个特点就是其N维数组对象:ndarray,该对象是一个快速而灵活的大数据集容器。可以利用这种数组对整块数据执行一些数学运算,其语法与标量元素之间的运算一样。
- ndarray是一个通用的同构数据多维容器,其中所有的元素必须是相同类型的。每个数组都有一个shape(一个表示各维度大小的元组)和一个dtype(一个用于说明数据类型的对象)。
data.shape() (2,3)
data.dtype() ('float64')
1 创建ndarray
- 序列型的对象
data = [1,2,3,4]
arr = np.array(data)
- 嵌套序列,嵌套序列将会被转换为一个多维数组。
- np.array会尝试为新建的数组推断出一个较为合适的数据类型,数据类型保存在一个特殊的dtype对象中。
- 其他的创建数组的函数。
np.zeros() #指定长度或形状的数组全部为0
np.ones() #指定长度或形状的数组全部为1
np.empty() #空数组
np.arange() #python内置函数的数组版
2 ndarray的数据类型
- dtype(数据类型)是一个特殊的对象,它含有ndarray将一块内存解释为特定数据类型所需的信息:
arr = np.array([1,2,3],dtype = np.float64)
arr.dtype()
- dtype是Numpy如此强大和灵活的原因之一。
- Numpy的数据类型:
- int8/uint8——有符号和无符号
- float64——浮点型
- complex64——复数
- bool——布尔型
- object——python对象类型