一 NumPy 数组是什么
NumPy 数组 = 超市货架,专门用来整整齐齐摆放同一类商品(比如全是饮料、全是水果)。
二 一维数组VS二维数组
1.使用列表构建一维数组和二维数组
np.array([ ]),np.array([ ],[ ])
即使 array1 除了最后一个元素(浮点数)之外全是整数,但由于 NumPy 对同构的要求, 这个数组的数据类型依然是 float64,这个类型足以容纳所有的元素。
三 了解一个数组的数据类型
访问它的 dtype 属性:print(数组名.dtype)
dtype 返回的是 float64 而不是 float。
四 对数组进行元素级别的运算:向量化
对一个标量(比如1,2,3)和 NumPy 数组求和,不用亲自遍历每一个元素。
标量指的是某种 Python 基本数据类型,比如浮点型和字符串。
1.处理一个数组
2.处理两个数组
五 对数组进行元素级别的运算:广播
在算术运算中使用了两个形状不同的数组,那么 NumPy 会自动将较小的数组扩展成较大的数组的形状。
六 对数组中的每个元素调用某个函数:通用函数ufunc
如果在 NumPy 数组中使用 Python 标准库 math 模块中的开平方函数会报错。math
模块的函数(如 math.sqrt()
)只能处理单个数字(标量),而 NumPy 数组是多个元素的集合(容器),两者类型不兼容。
1.计算每个元素的平方根:np.sqrt(数组名)
2.sum函数
想求出每一列的总和:array2.sum(axis=0) #
返回一维数组
参数
axis=0
表示以行为轴,参数
axis=1 表示以列为轴。省略 axis 参 数会将整个数组加起来。
为什么不是 np.sum(array2)? √
array2.sum(axis=0)
:直接在方法中指定参数,代码更紧凑。
np.sum(array2, axis=0)
:需额外传递数组参数。两者底层性能一致,选择取决于代码风格和场景需求。