1. 了解ndarray
在Python中,ndarray(n-dimensional array,多维数组)是最重要也是最基础的数据结构之一。通过ndarray,我们能够以矩阵的形式存储和处理大量数据。因此,我们需要学会如何创建ndarray实例。
2. 如何生成ndarray实例
2.1 通过Python中的range()生成ndarray
通过range()生成ndarray,可以指定起始、终止、步长等参数。我们可以使用Python内置的array模块来创建ndarray实例,实现方式如下:
import array
import numpy as np
arr = array.array('i', range(10))
ndarr = np.array(arr)
print(ndarr)
输出结果如下所示:
[0 1 2 3 4 5 6 7 8 9]
2.2 通过Python中的zeros()和ones()生成ndarray
zeros()和ones()是numpy中的方法,可以方便地创建值为0或者1的ndarray实例。
首先,我们通过zeros()创建一个2行3列的ndarray实例,元素均为0,代码实现如下:
import numpy as np
ndarr = np.zeros((2, 3))
print(ndarr)
输出结果如下所示:
[[ 0. 0. 0.]
[ 0. 0. 0.]]
接着,我们通过ones()创建一个2行3列的ndarray实例,元素均为1,代码实现如下:
import numpy as np
ndarr = np.ones((2, 3))
print(ndarr)
输出结果如下所示:
[[ 1. 1. 1.]
[ 1. 1. 1.]]
2.3 通过Python中的randn()和random()生成ndarray
randn()和random()是numpy中的方法,可以用来随机生成ndarray实例。
首先,我们通过randn()生成一个3行2列的ndarray实例,随机填充以0为中心、标准差为1的正态分布,代码实现如下:
import numpy as np
ndarr = np.random.randn(3, 2)
print(ndarr)
输出结果如下所示:
[[-0.31864567 1.02641974]
[-1.22064438 -1.53509397]
[-0.45360311 -0.81773088]]
接着,我们通过random()生成一个3行2列的ndarray实例,随机填充0到1之间的浮点数,代码实现如下:
import numpy as np
ndarr = np.random.random((3, 2))
print(ndarr)
输出结果如下所示:
[[ 0.61611135 0.34248583]
[ 0.72746433 0.68262628]
[ 0.80684673 0.40959986]]
3. 如何控制ndarray中元素的类型
控制ndarray中元素的类型,可以通过ndarray的dtype参数来实现。常见的数据类型包括int、float、complex、bool等。
在使用上述方法创建ndarray实例时,我们并没有指定dtype参数,因此numpy会根据数据类型自动判断。例如,在上述方法中使用zeros()函数创建ndarray实例时,默认是生成浮点数类型的ndarray。如果希望生成整型的ndarray,则需要手动指定dtype参数为int类型,如下所示:
import numpy as np
ndarr = np.zeros((2, 3), dtype=int)
print(ndarr)
输出结果如下所示:
[[0 0 0]
[0 0 0]]
4. 总结
本文以Python中生成ndarray实例为主题,介绍了四种方法:通过Python中的range()生成ndarray、通过Python中的zeros()和ones()生成ndarray、通过Python中的randn()和random()生成ndarray、通过控制ndarray中元素的类型来控制ndarray实例的数据类型。其中,每种方法都附有相应的代码实现和输出结果,方便读者通过代码实践加深对ndarray的理解。最后,我们建议读者多多尝试使用ndarray,发挥其在科学计算和数据处理中的重要作用。