NumPy入门
NumPy是Python数据科学三方库中最为重要的基石,提供了数据存储和运算的能力,其他很多跟数据科学相关的库底层都依赖了NumPy。NumPy的核心是名为ndarray的数据类型,用来表示任意维度的数组,相较于Python的list,它具有以下优势:
有更好的性能,可以利用硬件的并行计算能力和缓存优化,相较于
list在处理数据的性能上有着数量级的差异。功能更加强大,
ndarray提供了丰富的运算和方法来处理数据,NumPy中还针对数组操作封装了大量的函数。向量化操作,NumPy中的函数以及
ndarray的方法都是对作用于整个数组,无需使用显示的循环,代码更加简单优雅。
创建数组对象
通过
array/asarray函数将列表处理成数组对象通过
arange函数指定起始值、终止值和跨度创建数组对象通过
linspace函数指定起始值、终止值和元素个数创建等差数列通过
logspace函数指定起始值(指数)、终止值(指数)、元素个数、底数(默认10)创建等比数列通过
fromstring/fromfile函数从字符串或文件中读取数据创建数组对象通过
fromiter函数通过迭代器获取数据创建数组对象通过生成随机元素的方式创建数组对象
通过
zeros/zeros_like函数创建全0元素的数组对象通过
ones/ones_like函数创建全1元素的数组对象通过
full函数指定元素值创建数组对象通过
eye函数创建单位矩阵通过
tile/repeat函数重复元素创建数组对象
数组对象的属性
size- 元素的个数dtype- 元素的数据类型ndim- 数组的维度shape- 数组的形状itemsize- 每个元素占用的内存空间大小(字节)nbytes- 所有元素占用的内存空间大小(字节)T- 转置flags- 内存信息base- 根基
数组对象的运算
算术运算
与标量运算
与数组运算 - 两个数组形状相同
比较运算
与标量运算
与数组运算
逻辑运算
与标量的运算
与数组的运算
索引运算
普通索引 - 跟列表的索引运算类似
花式索引 - 用列表或数组充当数组的索引
布尔索引 - 用保存布尔值的数组充当索引
切片索引 - 跟列表的切片运算类似
数组对象的方法
获取描述性统计信息
sumcumsum/cumprodmeannp.medianstats.modemaxminptpnp.quantile/stats.iqrvarstdstats.variationstats.skewstats.kurtosis
其他相关方法
roundargmax/argminnonzerocopy/viewastypeclipreshape/resizedump/np.loadtofilefillflatten/ravelsort/argsortswapaxes/transposetolist