📜  输入 numpy 数组 - Python (1)

📅  最后修改于: 2023-12-03 15:28:17.300000             🧑  作者: Mango

输入 NumPy 数组 - Python

NumPy 是 Python 中一个常用的科学计算库,其中最基本的数据类型是数组(array)。本文介绍了如何在 Python 中输入 NumPy 数组。

从 Python 列表中创建数组

我们可以使用 NumPy 的 array 函数从 Python 列表中创建数组。例如,以下代码将创建一个包含整数 1 到 4 的一维数组:

import numpy as np

my_list = [1, 2, 3, 4]
my_array = np.array(my_list)

print(my_array)

输出:

[1 2 3 4]

我们也可以使用嵌套列表创建多维数组,如下所示:

my_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
my_array = np.array(my_list)

print(my_array)

输出:

[[1 2 3]
 [4 5 6]
 [7 8 9]]
从文件中读取数组

我们也可以从文件中读取数据并创建数组。NumPy 支持从文本、CSV、MATLAB(.mat)和 numpy (.npy)格式的文件中读取数据。以下代码演示了如何从文本文件中读取数据并创建数组:

data = np.loadtxt('data.txt')
print(data)

其中,data.txt 是包含数据的文本文件。

如果数据包含列头和行头,则可以使用 loadtxt 函数的 skiprowsusecols 参数来跳过这些行和列。例如:

data = np.loadtxt('data.txt', skiprows=1, usecols=(1, 2, 3))
print(data)

其中,我们跳过第一行和第一列,并读取第二列至第四列的数据。

从内存中的字符串创建数组

我们可以使用 NumPy 的 fromstring 函数从内存中的字符串创建数组。以下代码将创建一个一维数组:

data = '1 2 3 4'
my_array = np.fromstring(data, sep=' ')

print(my_array)

输出:

[1. 2. 3. 4.]

我们也可以从多行内存字符串中创建多维数组,如下所示:

data = '1,2,3\n4,5,6\n7,8,9'
my_array = np.fromstring(data, sep=',')

print(my_array.reshape(3,3))

输出:

[[1 2 3]
 [4 5 6]
 [7 8 9]]
从其他数组创建数组

我们可以使用其他数组的数据创建新的数组。例如,以下代码将创建一个新的数组,其中每个元素是原始数组中的元素的平方:

my_array = np.array([1, 2, 3, 4])
new_array = my_array ** 2

print(new_array)

输出:

[ 1  4  9 16]

我们也可以使用其他数组的部分数据创建新的数组。例如,以下代码将创建一个新的数组,其中包含原始数组中的第 2 至第 3 个元素:

my_array = np.array([1, 2, 3, 4])
new_array = my_array[1:3]

print(new_array)

输出:

[2 3]
总结

在 Python 中,我们可以使用 NumPy 创建各种类型的数组并进行科学计算。本文介绍了如何从 Python 列表、文件、内存中的字符串以及其他数组中创建数组。