译者的话:这是Rakshit Vasudev资料的翻译,他长期研究DataScience并在其中使用Python语言。 作者讨论了功能强大的Numpy库,它使您可以实现机器学习和处理大数据的许多功能。
Numpy是Python的数学库。 它使您可以快速有效地执行各种计算。 由于使用了特殊的解决方案,它大大扩展了Python的功能。 本文讨论Numpy的基本功能,这只是第一部分; 其他将在稍后发布。 本文适用于刚开始学习Numpy并进入Python勇敢的数学世界的人们。
Skillbox建议: Python开发人员从头开始 实践课程。
我们提醒您: 对于所有“哈勃”读者来说,使用“哈勃”促销代码注册任何Skillbox课程时均可享受10,000卢布的折扣。
导入库
import numpy as np
至此,我们告诉Python np是Numpy的引用,它将继续使用。
现在创建一个python数组和一个np数组。
提款没有太大区别。
print(a) print(A) ==================================================================== [1, 2, 3, 4, 5, 6, 7, 8, 9] [1 2 3 4 5 6 7 8 9]
那么,为什么使用numpy数组而不是通常的数组更好呢? 答案是因为np将使我们能够更快地进行计算并修改应用程序的整体体系结构。
np.arange()
np.arange(0,10,2) ==================================================================== array([0, 2, 4, 6, 8])
([开始],停止,[步骤])对数字进行排序。 这对汽车意味着什么。
我们创建一个从0到10的np列表,但不包括10,并且每次将数字增加2。
因此,我们得到:
数组([0,2,4,6,8])
重要的是要记住,列表中不包括最后一位。
另一个例子:
np.arange(2,29,5) ==================================================================== array([2, 7, 12, 17, 22, 27])
该数组也可以称为矩阵或向量。 因此,当我说例如“矩阵的形状为2 * 3”时,请不要担心。 所有这些意味着我们的数组最终将看起来像这样:
array([2, 7, 12], [17, 22, 27])
现在让我们讨论默认np数组的参数,例如shape。 这里的形状是一个属性。 下面是其用法示例。
A = [1, 2, 3, 4, 5, 6, 7, 8, 9] A.shape ==================================================================== (9,)
这是一个数字矩阵,一行中只有9个元素。 原则上,1 * 9矩阵是理想的,对吗?
基本上,是的,为此,reshape()开始起作用。 这是一种根据需要调整原始矩阵大小的方法。
这是在实践中使用reshape()的示例。
A = [1, 2, 3, 4, 5, 6, 7, 8, 9] A.reshape(1,9) ==================================================================== array([[1, 2, 3, 4, 5, 6, 7, 8, 9]])
请注意,整形将返回多维矩阵。 开头用两个方括号表示。 与[1、2、3、4、5、6、7、8、9]不同,[[1、2、3、4、5、6、7、8、9]]是潜在的多维矩阵。
另一个例子:
B = [1, 2, 3, 4, 5, 6, 7, 8, 9] B.reshape(3,3) ==================================================================== array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
如果我们为B选取shape参数,则为(3.3):
B.shape ==================================================================== (3,3)
让我们继续到np.zeros()
这段代码说明了什么?
np.zeros((4,3)) ==================================================================== ???????????
即:这里给出了一个3 * 4格式的矩阵,该矩阵用零填充。 结论如下:
np.zeros((4,3)) ==================================================================== array([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.], [0., 0., 0.]])
np.zeros((n,m))返回一个n * m格式的矩阵,该矩阵用零填充。 一切都很简单。
np.eye()有什么作用?
向我们返回具有某些特征的单位矩阵。
np.eye(5) ==================================================================== array([[1., 0., 0., 0., 0.], [0., 1., 0., 0., 0.], [0., 0., 1., 0., 0.], [0., 0., 0., 1., 0.], [0., 0., 0., 0., 1.]])
如何将两个矩阵相乘?
没问题:为此使用np.dot(),如果将矢量和矩阵乘积(最普通的)传递给它,则此函数为标量积。
示例:A =(2,3)&B =(3,2)。 此处,A中的列数为3。B中的行数为3。由于特性一致,因此可以进行乘法运算。
我们已经准备好要进行乘法运算的矩阵。 接下来-我们采取行动。
现在让我们将各个元素添加到矩阵中。
np.sum()将元素添加到矩阵。
但是,我们有两个选择。
1.排成一排
6-第一行的总和(1、2、3)。
15-秒(4、5、6)。
24-第三(7,8,9)。
2.折成列
12-第一列的总和(1、4、7)。
15-根据第二个(2、5、7)。
18-根据第三个(3,6,9)。
以下是作者创作的视频,上面的所有内容都将更清楚地进行解释。
Skillbox建议: