02 | NumPy(上):核心数据结构详解
什么是 NumPy
- 深入了解
- 翻译
- 解释
- 总结
NumPy是Python中用于科学计算的基础包,提供了多维数组对象和各种快速操作。本文深入介绍了NumPy数组的创建、属性和重要概念,包括数组的维度、形状、元素总数和数据类型。读者将学习到创建数组的多种方式,如使用np.ones()和np.zeros()创建全1和全0数组,以及使用np.arange()和np.linspace()创建特定范围的数组。此外,文章还解释了数组轴的概念,以及如何根据不同轴进行聚合操作和在多维数组中使用axis参数进行计算。这些内容对于初学者快速了解NumPy的基本概念和操作,为进一步学习和应用NumPy打下基础。文章内容丰富,涵盖了NumPy数组的基本操作和高级概念,适合对科学计算和数据处理感兴趣的读者阅读学习。同时,文章还强调了NumPy在机器学习和数据处理中的重要性,为读者提供了学习和应用NumPy的动力和方向。
《PyTorch 深度学习实战》,新⼈⾸单¥59
全部留言(24)
- 最新
- 精选
- 于小咸置顶之前一直没搞清楚轴的概念,听方老师讲解以后终于明白了,轴的方向就是行序号或者列序号增长的方向
作者回复: 你好,于小咸。感谢你的留言与认可。希望与你一起进步。^^
2021-10-1927 - lwg0452思考题 np.average(interest_score, axis=1)
作者回复: 你好,lwg0452。感谢你的留言^^。是的,这么做是正确的👍。 也可以用np.mean。对于普通求平均来说,他们都是一样的,也就是说np.average(interest_score, axis=1)与np.mean(interest_score, axis=1)的输出是一样的。 不过np.average还可以用于加权平均,比如给定每个游戏的权值weights=np.array([4,2,7]),计算每名同学对三款游戏的加权平均就可以这样做, np.average(interest_score, weights=weights, axis=1)。 加权平均计算方式的话,用第一名同学举例就是 interest_score[0][0] * weights[0]/weights.sum() + interest_score[0][1] * weights[1]/weights.sum() + interest_score[0][2] * weights[0]/weights.sum()
2021-10-13220 - jssfypytorch哪些场景必须或者强烈建议用np? 不用python数组的原因是什么?可否举个例子?
作者回复: 你好,jssfy。首先谢谢你的留言。 pytorch是用于深度学习的框架,如果涉及到数组使用都强烈建议使用np,原因有以下几点: 1. np提供了丰富的矩阵运算,非常适合深度学习处理数据时使用。 例如,数组中某维度的数据拼接,在实际训练场景中,可用于增加训练数据的特征维度等,np中一个函数即可搞定。 再例如,np中的argmax函数,可以让我们在做分类任务时轻松取到最大概率的分类是什么。 等等这些np数组中强大的功能,都是python数组所不具备的。 2. np节约内存 np数组对内存的优化很好,长度越大,其相比python的数组占用内存越少。
2021-10-13212 - AstrHan数组轴的这个例子好记!老师是自行车爱好者啊,每张头图都是,,
作者回复: 你好,AstrHan,谢谢你的留言。谢谢你的认可。是啊,自行车爱好者:)。
2021-10-133 - qifeng.wang作者没有介绍四维轴的概念,三轴的可以理解,就是长方体,X(0),Y(1),Z(2), axis=0就按照这个方向 做投影转换成 二维(Y,Z),四维的有点理解不出来,麻烦解读一下。
作者回复: 你好,感谢你的留言。 3维以上就画不出来。但其实原理是一样的。 你比如说,有一个数组的shape是(3,2,4,5) 现在沿着第2个轴求最大值,其实就是沿着axis=1求最大值,经过计算之后的数组的shape就是(3,4,5)
2022-06-2322 - 芜风老师的专栏又简洁又有重点,真的很好!
作者回复: 感谢支持^^
2022-05-071 - 人间失格给老师点赞,老师轴抽象的很好,比我初次看更具体,希望后面网络结构和优化也能这样。请问numpy快和并行的原因是因为底层storage方式吗?
作者回复: 你好,人间失格。谢谢你的留言也感谢你的认可。:)我会用通俗易通的言语来讲解专栏的内容。 Numpy快是因为底层是用C、C++和Fortran写的,并在底层对各种运算进行了高度的优化。
2021-10-131 - John(易筋)``` mean_1 = np.mean(interest_score, axis=1) print(mean_1) ```
作者回复: 👍🏻 ^^
2022-07-25归属地:北京 - starwonder数据降维的本质就是按照某(几)个轴的方向进行聚合吧?
作者回复: 你好,感谢你的留言。 这个看怎么理解吧。 通常来说降维是指将输入数据的若干个维度,通过某种方法降低到指定维度。 例如,PCA或者一些embedding方法
2022-07-07 - 亚林np.average(interest_score, axis=0)
作者回复: 👍🏻👍🏻^^ 也可以用np.mean。对于普通求平均来说,他们都是一样的,也就是说np.average(interest_score, axis=1)与np.mean(interest_score, axis=1)的输出是一样的。 不过np.average还可以用于加权平均,比如给定每个游戏的权值weights=np.array([4,2,7]),计算每名同学对三款游戏的加权平均就可以这样做, np.average(interest_score, weights=weights, axis=1)。 加权平均计算方式的话,用第一名同学举例就是 interest_score[0][0] * weights[0]/weights.sum() + interest_score[0][1] * weights[1]/weights.sum() + interest_score[0][2] * weights[0]/weights.sum()
2022-05-06