优草派  >   Python

如何创建ndarray数组?

赵宇航            来源:优草派

在Python的数据科学领域中,NumPy是最受欢迎的库之一。NumPy是一个强大的数学库,它提供了许多强大的工具和功能,使得数据处理更加容易。其中,ndarray是NumPy的核心数据结构。ndarray是一个多维数组,它可以存储任何类型的数据,包括整数、浮点数、字符串等。本文将从多个角度分析如何创建ndarray数组。

一、通过列表创建ndarray数组

如何创建ndarray数组?

NumPy的最基本的数据结构是ndarray数组。在Python中,我们可以使用列表来创建ndarray数组。例如,我们可以使用以下代码来创建一个包含整数的ndarray数组:

``` python

import numpy as np

list1 = [1, 2, 3, 4, 5]

arr1 = np.array(list1)

print(arr1)

```

输出结果为:

``` python

[1 2 3 4 5]

```

我们可以看到,通过列表创建ndarray数组非常简单。只需要将列表传递给np.array()函数即可。

二、使用NumPy函数创建ndarray数组

除了使用列表外,NumPy还提供了一些函数来创建ndarray数组。下面是一些常用的函数:

1. np.zeros()

np.zeros()函数可以创建一个全为0的ndarray数组。例如,我们可以使用以下代码来创建一个全为0的3x2的ndarray数组:

``` python

arr2 = np.zeros((3, 2))

print(arr2)

```

输出结果为:

``` python

[[0. 0.]

[0. 0.]

[0. 0.]]

```

2. np.ones()

np.ones()函数可以创建一个全为1的ndarray数组。例如,我们可以使用以下代码来创建一个全为1的4x3的ndarray数组:

``` python

arr3 = np.ones((4, 3))

print(arr3)

```

输出结果为:

``` python

[[1. 1. 1.]

[1. 1. 1.]

[1. 1. 1.]

[1. 1. 1.]]

```

3. np.full()

np.full()函数可以创建一个指定值的ndarray数组。例如,我们可以使用以下代码来创建一个全为7的2x2的ndarray数组:

``` python

arr4 = np.full((2, 2), 7)

print(arr4)

```

输出结果为:

``` python

[[7 7]

[7 7]]

```

三、生成随机数的ndarray数组

除了使用函数创建ndarray数组外,我们还可以使用随机数生成器创建ndarray数组。NumPy中的random模块提供了许多生成随机数的函数。下面是一些常用的函数:

1. np.random.rand()

np.random.rand()函数可以创建指定形状的ndarray数组,数组中的元素是从0到1之间的均匀分布的随机数。例如,我们可以使用以下代码来创建一个2x3的ndarray数组:

``` python

arr5 = np.random.rand(2, 3)

print(arr5)

```

输出结果为:

``` python

[[0.29830287 0.68607509 0.13412505]

[0.82701891 0.09718766 0.29221356]]

```

2. np.random.randn()

np.random.randn()函数可以创建指定形状的ndarray数组,数组中的元素是从标准正态分布中随机抽取的随机数。例如,我们可以使用以下代码来创建一个3x3的ndarray数组:

``` python

arr6 = np.random.randn(3, 3)

print(arr6)

```

输出结果为:

``` python

[[-0.17948271 -0.07310516 -0.3484224 ]

[ 0.36384898 -0.50194268 -1.502708 ]

[ 1.11877318 0.05946149 -1.42407363]]

```

四、总结

本文从多个角度分析了如何创建ndarray数组。我们可以使用列表、NumPy函数或随机数生成器来创建ndarray数组。使用NumPy创建ndarray数组非常方便,可以大大提高我们的数据处理效率。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行