啊我觉得粘贴代码好麻烦,所以我决定截图啦把代码
1、Numpy数组对象
NumPy最重要的一个特点是其N维数组对象,即ndarry对象
ndarray对象一些重要属性:
代码解释:
2、创建Numpy数组
1和1.产生这种现象的是因为元素的数据类型不同
也可以显式地声明数组元素的类型:
3、ndarray对象的数据类型
3.1查看数据类型
通过ndarray.dtype创建一个表示数据类型的对象,再加个name属性可以访问类型名称
每一个NumPy内置的数据类型都有一个特征码来唯一标识数据类型:
3.2转换数据类型
通过astype()方法转换
把int32转换为float64:
把float转换为int:
把字符串转换为int:
4、数组运算
NumPy数组不需要循环遍历,即可对每个元素执行批量的算术运算操作,这个过程叫做矢量化运算。不过,如果两个数组的大小( ndarray.shape)不同,则它们进行算术运算时会出现广播机制。除此之外,数组还支持使用算术运算符与标量进行运算。
4.1矢量化运算
4.2数组广播
矢量化运算要求形状相同,如果不相同则会出现广播机制,该机制会对数组进行扩展
hhh写的好丑
广播机制需要满足的条件:
4.3数组与标量之间的运算
大小相等的数组之间的任何算术运算都会将运算应用到元素级,同样,数组与标量的算术运算也会将那个标量值传播到各个元素。当数组进行相加、相减、乘以或除以一个数字时,这些称为标量运算。标量运算会产生一个与数组具有相同数量的行和列的新矩阵,其原始矩阵的每个元素都被相加、相减、相乘或者相除。
5、ndarray的索引与切片
5.1整数索引与切片
(1)一维数组
插个题:
开始开始
(2)多维数组
索引
切片
5.2花式索引
5.3布尔索引
布尔型索引指的是将一个布尔数组作为数组索引,返回的数据是布尔数组中True对应位置的值。
6、数组的转置和轴对称
(1)T属性转置:
(2)transpose()方法转置:
(1)相当于二维数组转置
(2)两个轴
(3)三个轴都转换
(3)swapaxes()方法
交换两个轴
7、Numpy通用函数
(1)一元通用函数
(2)二元通用函数
8、利用Numpy数组进行数据处理
8.1条件逻辑转为数组运算
8.2数组统计运算
使用cumsum()和cumprod()方法后,产生的结果是一个由中间结果组成的数组
比较简单就不举例子了!
8.3数组排序
插个题:
sort()方法会改变数组本身的值
8.4 检索数组元素
all和any:
8.5唯一化及其他集合逻辑
其他常见的:
9、线性代数模块
矩阵乘法:
其他常见的函数:
10、随机数模块
random模块常用的函数
其中seed()函数可以保证生成的随机数具有可预测性,就是产生的随机数相同
程序:
代码: