Python np.array的使用详解

Python np.array的使用详解

Python np.array的使用详解

1. 引言

在Python中,NumPy(Numerical Python)是一个用于科学计算的强大库。它提供了高性能的多维数组对象(ndarray)以及用于处理这些数组的各种函数。本文将详细介绍NumPy的核心对象之一——np.array的使用方法和相关特性。

2. 创建np.array

在使用NumPy的np.array之前,我们首先需要导入NumPy库。通常情况下,大家都使用习惯了将NumPy库导入并重命名为np

import numpy as np

2.1 从列表或元组创建np.array

使用NumPy的array函数,可以从一个列表或元组创建一个np.array对象。例如,我们可以从一个一维的Python列表创建一个一维的np.array

list_data = [1, 2, 3, 4, 5]
array_data = np.array(list_data)
print(array_data)

这段代码将输出:

[1 2 3 4 5]

类似地,我们可以从一个多维的Python列表创建一个多维的np.array

matrix = [[1, 2], [3, 4], [5, 6]]
array_matrix = np.array(matrix)
print(array_matrix)

这段代码将输出:

[[1 2]
 [3 4]
 [5 6]]

使用np.array函数创建的数组可以是任意维度的,只需要在array函数中提供对应的数据即可。

2.2 使用NumPy提供的函数创建特殊的np.array

除了通过列表或元组创建np.array,NumPy还提供了一些函数用于创建特殊的数组。

2.2.1 使用np.zeros创建全零数组

np.zeros函数可以创建一个指定形状的全零数组。我们可以指定数组的形状(维度)作为参数。例如,创建一个形状为(2, 3)的全零数组:

zeros_array = np.zeros((2, 3))
print(zeros_array)

这段代码将输出:

[[0. 0. 0.]
 [0. 0. 0.]]

2.2.2 使用np.ones创建全一数组

np.ones函数类似于np.zeros函数,可以创建一个指定形状的全一数组。

ones_array = np.ones((2, 3))
print(ones_array)

这段代码将输出:

[[1. 1. 1.]
 [1. 1. 1.]]

2.2.3 使用np.arange创建连续整数数组

np.arange函数可以创建一个连续的整数数组。我们可以指定数组的起始值、结束值和步长。例如,创建一个从0到9的连续整数数组:

integer_array = np.arange(10)
print(integer_array)

这段代码将输出:

[0 1 2 3 4 5 6 7 8 9]

2.2.4 使用np.linspace创建等差数列数组

np.linspace函数会在指定的起始值和结束值之间创建等差数列。我们可以指定数列的起始值、结束值以及包含的元素个数。

linspace_array = np.linspace(0, 1, 5)
print(linspace_array)

这段代码将输出:

[0.   0.25 0.5  0.75 1.  ]

2.3 使用随机数创建np.array

除了上述方法,NumPy还提供了多种方法用于创建由随机数填充的np.array

2.3.1 使用np.random.rand创建0到1之间的随机数数组

np.random.rand函数可以创建指定维度的0到1之间的随机数数组。我们可以指定数组的形状(维度)。

random_array = np.random.rand(2, 3)
print(random_array)

这段代码将输出:

[[0.4205492  0.35339967 0.15871663]
 [0.2809823  0.29531438 0.68120656]]

2.3.2 使用np.random.randn创建服从标准正态分布的随机数数组

np.random.randn函数可以创建符合标准正态分布(均值为0,方差为1)的指定维度的随机数数组。

randn_array = np.random.randn(2, 3)
print(randn_array)

这段代码将输出:

[[ 1.01111932 -0.23198528  0.09575871]
 [ 0.72938318  0.60414215 -0.29782545]]

3. np.array的属性与方法

3.1 shape属性

使用shape属性可以获取np.array的形状(维度)。

array = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
print(array.shape)

这段代码将输出:

(2, 4)

3.2 ndim属性

使用ndim属性可以获取np.array的维度。

array = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
print(array.ndim)

这段代码将输出:

2

3.3 size属性

使用size属性可以获取np.array中元素的总个数。

array = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
print(array.size)

这段代码将输出:

8

3.4 dtype属性

使用dtype属性可以获取np.array中元素的数据类型。

array = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
print(array.dtype)

这段代码将输出:

int64

3.5 reshape方法

使用reshape方法可以改变np.array的形状(维度)。

array = np.arange(10)
reshaped_array = array.reshape((2, 5))
print(reshaped_array)

这段代码将输出:

[[0 1 2 3 4]
 [5 6 7 8 9]]

3.6 flatten方法

使用flatten方法可以将np.array展开为一维数组。

array = np.array([[1, 2, 3], [4, 5, 6]])
flattened_array = array.flatten()
print(flattened_array)

这段代码将输出:

[1 2 3 4 5 6]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程