numpy库用法总结

Numpy是一个开源的科学计算库,提供多维数组对象,进行矩阵运算,线性代数,傅里叶变换,随机数生成等,融合了C语言的高效性和python的简单性。
两大特性:
1.矢量化:在代码中没有任何显式循环、索引等。这些仅发生在优化的、预编译的C代码“幕后”,矢量化意味着代码更简洁、更不易犯错、更接近于数学符号、更高效;广播:隐式的逐个元素操作。2.广播:Numpy中所有操作都以这种隐式的逐个元素的方式进行,a和b甚至可以是具有不同形状的两个数组,较小的数组“可扩展为”较大的数组;
ndarray(在程序中的别名是array)
一 .
是Numpy的基本对象,用来存储单一数据类型的多维数组。与python序列有以下区别:
1.ndarray在创建时有固定大小:不同于python中的列表,更改ndarray的大小将创建一个新的数组并删除原始数据;
2.ndarray中的元素有相同的数据类型;ndarray便于对大量数据进行高级数学操作:通常会比python内置序列更高效也更简单;
3.越来越多的基于python的科学和数学软件使用ndarray数组:只知道python的内置序列类型是不够的,还需要知道如何使用ndaray数组。

二.
数组对象可以去掉元素间运算所需要的循环,使一维向量更像单个数据。
设置专门的数组对象经过优化,可以提升这类应用的运算速度。例如:

创建数组
创建数组的机制:
1.从Python结构(例如:列表,元组)转换
*x=np.array(list/tuple,dtype=np.float32)*
不指定dtype时,将根据数据情况关联一个dtype类型。
numpy库用法总结_第1张图片
2.从Numpy的函数创建(例如:arange、ones、zeros等)

numpy库用法总结_第2张图片
numpy库用法总结_第3张图片

还有一些其他函数:numpy库用法总结_第4张图片
numpy库用法总结_第5张图片
3.使用特殊库函数(例如:random)

由np.array()生成一个ndarray数组,显示时会有一个array加一对括号:

ndarray对象的属性
numpy库用法总结_第6张图片

numpy中ndarray支持多种数据类型,不像python只有三种。原因是科学计算涉及
数据较多,对存储和性能有较高的要求所以对元素类型精细定义。int8 int16以及 int32
float32 float64等。
ndarray数组的维度变换
numpy库用法总结_第7张图片
数组类型的变换:astype(new_type):numpy库用法总结_第8张图片

数组的索引和切片
1.一维数组:
numpy库用法总结_第9张图片

2.多维数组的索引和切片:

numpy库用法总结_第10张图片

numpy库用法总结_第11张图片

数组运算
数组与标量之间的运算作用于数组的每一个元素。numpy库用法总结_第12张图片

numpy的一元函数(对ndarray中的数据进行元素级运算的函数)

numpy库用法总结_第13张图片
numpy的二元函数

numpy库用法总结_第14张图片

numpy库用法总结_第15张图片

CSV文件
Comma-Separated-Value 逗号分隔值文件,用来存储批量数据。将下图保存为:
numpy库用法总结_第16张图片

numpy库用法总结_第17张图片

写入
numpy库用法总结_第18张图片

numpy库用法总结_第19张图片

读取
numpy库用法总结_第20张图片

numpy库用法总结_第21张图片

numpy的随机数函数
numpy库用法总结_第22张图片

numpy库用法总结_第23张图片

numpy库用法总结_第24张图片

numpy库用法总结_第25张图片

numpy库用法总结_第26张图片

numpy库用法总结_第27张图片

其中第三个参数p是概率。

numpy的梯度函数
梯度:连续值之间的变化率,也叫斜率
在这里插入图片描述

numpy库用法总结_第28张图片

numpy库用法总结_第29张图片

——本文是对北京理工大学嵩天老师课程的学习记录

你可能感兴趣的:(机器学习)