NumPy构成了数据科学领域中大部分Python库的基础。
关于数据科学的一切都始于数据,数据以各种形式出现。数字、图像、文本、x射线、声音和视频记录只是数据源的一些例子。无论数据采用何种格式,都需要将其转换为一组待分析的数字。因此,有效地存储和修改数字数组在数据科学中至关重要。
NumPy (Numerical Python)是一个科学计算包,它提供了许多创建和操作数字数组的方法。它构成了许多与数据科学相关的广泛使用的Python库的基础,比如panda和Matplotlib。
在这篇文章中,我将介绍20种常用的对NumPy数组的操作。这些操作可分为4个主要类别:
首先就是需要引入numpy的包
import numpy as np
1.特定范围内的随机整数
第一个参数决定了范围的上限。下界默认为0,但我们也可以指定它。size参数用于指定所需的大小。
我们创建了一个由2到10之间的整数组成的3x2数组。
2. 0到1之间的随机浮点数
浮点数在0和1之间的一维数组。可以用于创建随机噪声数据。
3. 一个标准正态分布的样本
randn()用于从一个标准正态分布(即零均值和单位方差)创建一个样本。
我们创建了一个有100个浮点数的数组。
4. 1和0的矩阵
一个矩阵可以被认为是一个二维数组。我们可以用 np.zeros和np.ones构造一个0或1的矩阵
我们只需要确定矩阵的维数,就可以进行矩阵的创建。
5. 单位矩阵
单位矩阵是一个对角线为1,其他位置为0的方阵(nxn)。可以用Np.eye 或 np.identity来创建。
6. Arange
Arange函数用于在指定的时间间隔内创建具有均匀间隔顺序值的数组。我们可以指定起始值、停止值和步长。
默认的起始值是零,默认的步长是1。
7. 只有一个值的数组
我们可以使用np.full创建在每个位置具有相同值的数组。
我们需要指定要填充的大小和数字。此外,可以使用dtype参数更改数据类型。默认数据类型为整数。
让我们首先创建一个二维数组:
8. 扁平化
Ravel函数使数组扁平化(即转换为一维数组)。
默认情况下,数组是通过逐行添加来扁平化的。通过将order参数设置为F (类fortran),可以将其更改为列。
9. 重塑
使用reshape函数,它会对数组进行重塑。A的形状是(3,4)大小是12。
可以指定每个维度上的大小,只要保证与原大小相同即可
我们不需要指定每个维度的大小。我们可以让NumPy通过-1来求维数。
10. 转置
矩阵的转置就是变换行和列。
11. Vsplit
将数组垂直分割为多个子数组。
我们将一个4x3的数组分成两个形状为2x3的子数组。
我们可以在分割后访问特定的子数组。
我们将一个6x3的数组分成3个子数组,得到第一个数组。
12. Hsplit
它与vsplit类似,但是水平工作的。
如果我们在一个6x3数组上应用hsplit得到3个子数组,得到的数组的形状将是(6,1)。
在某些情况下,我们可能需要组合数组。NumPy提供了以多种不同方式组合数组的函数和方法。
13. 连接
这与pandas的合并的功能很相似。
我们可以使用重塑函数将这些数组转换为列向量,然后进行垂直连接。
14. Vstack
它用于垂直堆叠数组(行在彼此之上)。
它也适用于高维数组。
15. Hstack
类似于vstack,但是是水平工作的(按列排列)。
线性代数是数据科学领域的基础。NumPy作为使用最广泛的科学计算库,提供了大量的线性代数运算。
16. Det
返回一个矩阵的行列式。
矩阵必须是方阵(即行数等于列数)才能计算行列式。对于高维数组,最后两个维度必须是正方形。
17. Inv
计算矩阵的逆。
矩阵的逆矩阵是与原矩阵相乘得到单位矩阵的矩阵。不是每个矩阵都有逆矩阵。如果矩阵A有一个逆矩阵,则称为可逆或非奇异。
18. Eig
计算一个方阵的特征值和右特征向量。
19. 点积
计算两个向量的点积,这是关于它们的位置的元素的乘积的和。第一个向量的第一个元素乘以第二个向量的第一个元素,以此类推。
20. 矩阵相乘
Matmul 矩阵乘法。
我们已经讨论了NumPy的基本操作。在NumPy上有更高级的操作,但最好先理解基础操作。
感谢您的阅读。
作者 Soner Yıldırım
deephub翻译组
本文分享自 DeepHub IMBA 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!