没有合适的资源?快使用搜索试试~ 我知道了~
numpy 经验总结,十分推荐
资源推荐
资源详情
资源评论
1、Numpy介绍
NumPy(Numerical Python的简称),是科学计算基础的一个库,它提供了一个高性能的多
维数组对象ndarray,以及大量的库函数和操作,可以帮助程序员轻松地进行数值计算,广泛
应用于机器学习模型、图像处理和计算机图形学、数学任务等领域。提供了大量关于科学计算
的相关功能,例如,线性变换,数据统计,随机数生成等。其提供的最核心的类型为多维数组
类型(ndarray)。
NumPy是基于c语言开发,所以这使得NumPy的运行速度很快,高效率运行就是NumPy的一
大优势。Numpy对矩阵运算进行了优化,使我们能够高效地执行线性代数运算,使其非常适
合解决机器学习问题。SciPy(Scientific Python)、Mat-plotlib(plotting library)、
Scikit-learn 等都在一定程度上依赖NumPy。与Python列表相比,Numpy具有的另一个强大
优势是具有大量优化的内置数学函数。这些函数使你能够非常快速地进行各种复杂的数学计
算,并且用到很少代码(无需使用复杂的循环),使程序更容易读懂和理解。
numpy的底层使用C语言实现。所以效率挺高
numpy作为很多的用来做数据挖掘,数据分析,人工智能相关的技术组件的底层实现
NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型,它是描述相同类型的元素
集合。ndarray 中的每个元素都是数据类型对象(dtype)的对象。ndarray 中的每个元素在内
存中使用相同大小的块。
Numpy官网:https://numpy.org/
学习numpy的核心套路:
学习怎么使用numpy组织数据,numpy提供了多维数组对象:ndarray
学习numpy提供的函数处理这个组好的数据: 提供了很多很多的库函数
Numpy中定义的最重要的数据结构是称为ndarray的n维数组类型,这个结构引用了两个对
象,一块用于保存数据的存储区域和一个用于描述元素类型的dtype对象
第一部分:元数据部分,存储当前这个ndarray对象的一些描述数据
第二部分:真实数据部分,存储这个ndarray对象中存储的真实的数据
二维数组的生成在python中我们还可以用到list列表,如果用list来表示[1,2,3],由于list中的
元素可以是任何对象,所以list中保存的是对象的指针,如果要保存[1,2,3]就需要三个指针和
三个整数对象,是比较浪费内存资源和cpu计算时间的,而ndarray是一种保存单一数据类型
的多维数组结构,在数据处理上比list列表要快上很多,在这里我们可以用%timeit命令来检测
两者的数据处理速度
元数据(metadata)
存储对目标数组的描述信息,如:dim count、dimensions、dtype、data(实际上就是一个
指针,指向实际的数据)等。
实际数据
完整的数组数据
将实际数据与元数据分开存放,一方面提高了内存空间的使用效率,另一方面减少对实际数据
的访问频率,提高性能。
ndarray数组对象的特点
Numpy数组是同质数组,即所有元素的数据类型必须相同
Numpy数组的下标从0开始,最后一个元素的下标为数组长度减1
总结一下Numpy的优点:
Numerical Python,数值的Python,补充了Python语言所欠缺的数值计算能力。
Numpy是其它数据分析及机器学习库的底层库。
Numpy完全标准C语言实现,运行效率充分优化。
Numpy开源免费。
Numpy的发展历史
1995年,Numeric,Python语言数值计算扩充。
2001年,Scipy->Numarray,多维数组运算。
2005年,Numeric+Numarray->Numpy。
2006年,Numpy脱离Scipy成为独立的项目。
2、安装使用
如果你已经装有 Anaconda,那么你可以使用以下命令通过终端或命令提示符安装 NumPy:
conda install numpy
如果你没有 Anaconda,那么你可以使用以下命令从终端上安装 NumPy:
pip install numpy
安装好 NumPy 后,你就可以启动 Jupyter notebook 开始学习了。
根据惯例,使用numpy库的导入方式为:
import numpy as np
在导入之后,我们可以通过:
np.__version__
来查看Numpyu库的版本信息。
1. a = 3 + 4
2. a
7
1. print("hello world")
hello world
1. import numpy as np
2. print(np.__version__)
1.17.0
1. # 引入第三方库:numpy,起个别名:np
2. import numpy as np
3.
4. # In与Out都是IPython的特殊对象。用来存储我们输入与输出的值。
5. # In是列表类型,Out是字典类型。
6.
7. # 如果不使用print输出,而是作为表达式计算值显示时,我们只能看到最后一个结果。
8. print(np.__version__)
9.
10. display(np.__version__)
11. np.__version__
1.17.0
'1.17.0'
'1.17.0'
1. # 忽略警告信息
2. import warnings
3. warnings.filterwarnings("ignore")
我现在要来尝试使用一下numpy
1. # 调用np的arange函数生成了一个数据序列: 从0-9
2. data = np.arange(10)
3. display(data) # 输出结果
4. display(type(data)) # 输出data的类型
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
numpy.ndarray
1. # 如果你想使用python来对这个序列进行+1的操作:
2. list22 = list(range(10))
3. print(list22)
4.
5. # 把这个数据序列(0-9)的每个元素都 进行 + 1 的操作
6. result_list = []
7. for i in list22:
8. result_list.append(i + 1)
9.
10. print(result_list)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
剩余134页未读,继续阅读
资源评论
w'xy
- 粉丝: 6
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功