概述
目录
一、介绍
二、主要内容
1、数据的类型
2、从列表创建数组
3、Numpy数组的基础
4、数组切片:访问子数组
5、 多维数组
6、子数组作为不可复制视图
7、创建数组的副本
8、重塑数组大小
9、串联数组
10、数组的分割
11、循环效率问题
一、介绍
1、Numpy是python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
2、在实际运用的第一步,不管数据是什么类型的,首先将其转化为数字数组才可以进行分析
二、主要内容
1、数据的类型
(1)在python中,数据类型是动态推断的,类型的灵活性表明,python变量不仅仅是包含它们的值,而且还包含了关于这个值类型的额外信息例如。
x=1
x='one'
简单的两变量中,同时包含着他的参考数量,类型,以及大小等信息
L=[True,'2',3.0,4]
[type(item)for item in L]
列表的优点是灵活性:因为每个列表元素都是包含数据和类型信息....的完整结构
但是,如果列表中的所有变量都是相同类型的,那么很多额外的信息都是多余的。
固定类型numpy样式的数组缺乏列表的灵活性,但在存储和操作数据方面要高效得多。
Numpy不仅提供了基于数组的数据结构的高效存储,而且还提供了对该数据的高效操作。
2、从列表创建数组
如果数组中的元素类型不匹配,Numpy将尽可能向上转换。
使用关键字" dtype "显式设置结果数组的数据类型
创建一个包含三个整数的未初始化数组(值将是该内存位置上已经存在的任何值)。
随机创建
3、Numpy数组的基础
Numpy数组有固定的类型。因此,如果您试图将一个浮点值插入到一个整型数组中,该值将被静默地截断。
4、数组切片:访问子数组
5、 多维数组
多维数组切片方式与一维类似,先切行,后切行里面的元素
6、子数组作为不可复制视图
Python list切片返回原始列表数据的副本。
Numpy数组片返回原始数组数据的视图。
可见,当切片后的数组发生改变,原先的数组也会发生对应的变化
7、创建数组的副本
所以,为了防止原数据被更改,我们需要使用数组的副本进行修改
发现,当使用了copy函数之后,原先数组的内容没有被改变
8、重塑数组大小
将一维数组转换为二维行或列矩阵可以使用重塑()方法完成,也可以在切片操作中使用关键字newaaxis。
9、串联数组
在Numpy中,连接或连接两个数组主要通过以下例程完成:
- np.concatenate ()
- np.vstack ()
- np.hstack ()
多维的合并
重塑与新增维度组合运用
hstack()是横向拉伸
vstack()是纵向排列
10、数组的分割
与拼接相反的是分割,它由以下函数实现:
- np.split ()
- np.vsplit ()
- np.hsplit ()
同样的,存在纵向分割和横向分割
11、循环效率问题
Numpy数组上的计算可以非常快,也可以非常慢
所以在Numpy或者说十python的计算工程中,请尽量避免嵌套式的循环出现
由于内容过多,将会在接下来的文章中再做介绍,本文章内容到此,后续会有更新。
最后
以上就是娇气咖啡豆为你收集整理的Numpy详解,带你一步步了解Numpy(一)一、介绍二、主要内容的全部内容,希望文章能够帮你解决Numpy详解,带你一步步了解Numpy(一)一、介绍二、主要内容所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复