Python Library -NumPy之交谈

初识NumPy,有了想进一步了解NumPy的兴趣


前言

初识NumPy后,激发了学习使用NumPy的兴趣。这里先了解更多的基础知识,“基础不牢,地动山摇”, 为后续更深入的学习使用NumPy做些准备。

一、谈数组

在计算机编程中,数组是一种用来存取数据的结构。我们可以把它想象成空间中一个个网格.

一维数组就像一列表

 

二维数组就像一张表

 

三(多)维数组就是一叠表

在NumPy中,最基本的数组类叫做ndarray,代表“N-dimensional array".

二、说创建

1.通过list,tuple创建

可以使用Python中的list(列表)或者tuple(元组)配合NumPy的array方法对数组进行初始化并完成数组的创建。

aa = np.array((1,2,3,4))  # 通过元组创建数组, (打印数组的结果是[1 2 3 4],dtype是int32 )
bb = np.array([1,2,3,4], dtype = np.int16)  # 通过列表创建数组,创建时指定元素数据类型 (打印数组的结果是[1 2 3 4])

同Python中列表(list)一样,数组也支持切片,只不过列表(list)的切片会将元素复制到一个新的列表中,而对NumPy数组切片只是返回原数组元素的引用(原文是view,我翻译为镜像),改变View的值也会同时改变原数组的值!

xx = aa[:3] # (打印数组xx的结果是[1 2 3 ],dtype是int32 )
xx[0] # (xx[0] 的结果是1 )
xx[0] = 5  # 给xx[0]赋值为5后,再打印aa,的结果是[5 2 3 4 ] !!

2.通过方法创建

如【初见】中提到的,可以用np.zeros(), np.ones(), np.empty(), np.arange(), np.linspace()等方法来创建数组。

在NumPy中,将数组的维度称作轴(英文axis),例如如下代码中的gg,它的形状是3x4, 但它是2轴(axes,英文axis的复数)的数组,它可以表示存在4维空间中的3组点。

cc = np.ones((1,2)) # 通过内置方法直接创建数组,默认的元素数据类型时float64 。 (打印数组结果是[[1. 1.]])
dd = np.linspace(1,9,9) # 从1开始到9,等分为9个元素(打印数组结果是[ 1.  2.  3.  4.  5.  6.  7.  8.  9. ])
gg = (np.arange(1,13,1).reshape(3,4)) # 从1开始到13,以1为增长间隔生成数组元素,再将生成的一维数组变形为形状为3x4的数组(打印数组结果如下)
#       [[ 1,  2,  3,  4],
#       [ 5,  6,  7,  8],
#       [ 9, 10, 11, 12]]


三、聊改变

待写....


总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值