一、实验要求
在计算机上验证和测试科学计算的Python基本语法和Numpy的基本数据类型多为数组array。
二、实验目的
1、复习和掌握科学计算Numpy的array类型;
2、掌握Numpy的Array的创建与内部结构;
三、实验内容
实验步骤
1.多维数组Numpy中Array的时间性能对比测试,在Python标准库中有Array这个库。请对比测试执行如下代码截图。
结合这个信息,和我们的实验1,请分析一下,np.array,array.array,list,collections.deque四种数据结构类型的使用场景的不同。
array.array的参考资料:https://blog.youkuaiyun.com/xc_zhou/article/details/88538793
运行结果:
使用场景:
Np.array 比array.array在执行numpy 的sum时比python中的sum快,
List 是线性表,索引访问速度快,但是不易删除和插入
Deque 是双向列表,适用于队列,栈这样的结构类型存储
Array.array只能存放指定的数据类型,但是比list效率高,因为array 存储的对象不是数据,而是数据的机器翻译。
2.Numpy的array数据存储存在字节序大小端的问题
Numpy中array类型的’’'int8, int16, int32, int64 可以被 ‘i1’, ‘i2’,‘i4’,’i8’ 等代替.
“<” 和 “>” 代表大小端,默认小端;
请测试一下下面的例子,然后解释一下A修改dtype后,为何原来的第2个数2为何变成了512:
测试结果:
Np.array中的一开始是按照小端法存储的,但是读取的时候是按照大端法读取的
3.Array的存储结构图,请阅读如下代码,然后画出A1,A2,A3,A4的data数据块的视图。类似如下这种图。
注:copy要重新开辟空间,同时reshape是不会重新开辟空间的