深度学习入门numpy的基本使用方法——数组(2)

创建二维数组

arr2d = np.array([[1, 2, 3], [4, 5, 6]])

创建三维数组

arr3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])



x = np.array([[1, 2, 3]])创建了一个NumPy数组,由于数据被包含在两层方括号`[[ ]]`内,这表明它是一个二维数组。


对于x = np.array([[1, 2, 3]])一个二维数组,其形状的计算基于方括号的嵌套层级以及每个层级内元素的数量。让我们一步一步来分析它的形状:


1. 最外层的方括号定义了数组的最外层,表示这是一个数组。因为这个数组内部还有另一层方括号,所以这是一个二维数组。


2. 内层的方括号[1, 2, 3]表示数组的第一个(也是唯一一个)"行"。这个行内有三个元素。


计算形状:


第一个维度(行数):由最外层方括号内的元素数量决定。这个例子中只有一个元素 `[1, 2, 3]`,所以第一个维度的大小是 `1`。


第二个维度(列数):由内层方括号内的元素数量决定。由于内层方括号 `[1, 2, 3]` 包含三个元素,所以第二个维度的大小是 `3`。


因此,数组 `x` 的形状是 `(1, 3)`,表示一个二维数组,其中有 1 行和 3 列。


使用 `.shape` 验证    : 在Python中,可以直接使用NumPy数组的 `.shape` 属性来获取数组的形状,无需手动计算:



print(x.shape)


这将输出 `(1, 3)`,证明 `x` 是一个形状为 `(1, 3)` 的二维数组。


####  1.2 使用 ones,empty, zeros生成数组,形参shape=[2,3]为2行3列的维度



#in:
np.ones(shape=[2,3]) #[2,3]为2行3列的维度
#out:
array([[1., 1., 1.],
[1., 1., 1.]])



#in:
np.zeros(shape=[3,4])
#out:
array([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.]])



#in:
np.empty(shape=[4,5]) #随机生成
#out:
array([[2.47053687e-316, 6.27463370e-322, 0.00000000e+000,
0.00000000e+000, 1.78019625e-306],
[5.30276956e+180, 3.31033942e-033, 4.57487963e-071,
3.25824571e-086, 3.35560119e-143],
[6.01433264e+175, 6.93885958e+218, 5.56218858e+180,
3.94356143e+180, 7.18978022e-067],
[2.90327285e-057, 2.08799593e-076, 6.82201766e-067,
7.49078798e-144, 1.50008929e+248]])


#### **1.3 使用linspace,arange生成数组(注意区间闭合)**



#in:
np.linspace(0,99,10) #左闭右闭,等距生成数组,前两个数为区间,第三个数是步长
#out:
array([ 0., 11., 22., 33., 44., 55., 66., 77., 88., 99.])



#in:
np.arange(0,99,33) #左闭右开,第三个数是步长
#out:
array([ 0, 33, 66])



#in:
np.random.normal(0, 1, size=(8,10)) #在(0,1)区间随机生成维度为[8,10]的数组
#out:
array([[ 0.4889333 , 0.52598919, -1.1787282 , 0.92947144, -0.61411273,
-0.40308503, -0.24170964, -1.65005546, -1.10860983, -1.17195597],
[ 2.30153196, 0.08231435, -0.42151829, 0.23084481, -0.22912885,
0.35418584, 0.18042856, 0.50218664, -0.06535679, -1.08141255],
[ 0.78668497, 0.40467269, -2.15751968, -0.5284904 , 0.61413254,
0.38134191, -0.32608761, -0.80535812, -0.28665986, -0.46265705],
[ 0.40831628, 1.1195378 , -0.19555259, -1.26725678, 0.06050092,
-1.53074358, -0.46109896, 1.0585371 , -1.68785747, -0.38269948],
[ 0.2533123 , 0.7493127 , -0.39330055, 0.59872789, 1.23311894,
1.56123508, 0.88216884, -0.11006012, 1.67101912, 0.36773784],
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

盖了95%以上前端开发知识点,真正体系化!**

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值