当前位置: 首页 > IT博客 > 编程 > Python

python如何创建二维数组,python二维数组筛选

  • Python
  • 2026-04-13

python如何创建二维数组?1. 数组创建方法np.array():从列表或元组创建数组,支持多维结构。import numpy as nparr = np.array([1, 2, 3]) # 一维数组arr_2d = np.array([[1, 2], [3, 4]]) # 二维数组预分配内存:np.zeros((2, 3)):创建2行3列的全零数组。那么,python如何创建二维数组?一起来了解一下吧。

python创建二维数组

在PyCharm中使用NumPy库主要涉及安装导入、数组创建、操作运算及可视化四个核心步骤。以下是详细说明及示例:

1. 安装与导入NumPy库

安装步骤

打开PyCharm,点击顶部菜单栏的 File > Settings(Windows/Linux)或 PyCharm > Preferences(Mac)。

选择 Project: <项目名称> > Python Interpreter

点击右侧 + 按钮,搜索 numpy,选择最新版本后点击 Install Package

代码导入:import numpy as np# 约定俗成的别名

2. 创建NumPy数组

NumPy数组可通过多种方式创建:

直接赋值:arr1 = np.array([1, 2, 3])# 一维数组arr2 = np.array([[1, 2], [3, 4]])# 二维数组

从文件加载(如CSV/TXT):data = np.loadtxt('data.txt', delimiter=',')# 假设文件以逗号分隔

转换其他数据结构:python_list = [1, 2, 3]arr3 = np.asarray(python_list)# 将列表转为NumPy数组

3. 数组操作元素访问与修改

索引/切片:print(arr1[0])# 输出第一个元素:1print(arr2[1, 0]) # 输出二维数组第二行第一列的元素:3print(arr1[1:3])# 切片输出[2, 3]

掩码操作:mask = arr1 > 2 # 生成布尔掩码print(arr1[mask]) # 输出满足条件的元素:[3]

数学运算

基本运算:a = np.array([1, 2])b = np.array([3, 4])print(a + b)# 逐元素相加:[4, 6]

统计函数:print(np.sum(arr1))# 求和print(np.mean(arr1)) # 平均值print(np.std(arr1))# 标准差

广播机制

NumPy自动扩展不同形状的数组以进行运算:

arr = np.array([[1], [2], [3]])scalar = 10print(arr + scalar)# 每行元素加104. 数据可视化使用Matplotlib(推荐)import matplotlib.pyplot as pltx = np.linspace(0, 10, 100)# 生成0到10的100个点y = np.sin(x)# 计算正弦值plt.plot(x, y)plt.title("Sine Wave")plt.xlabel("X-axis")plt.ylabel("Y-axis")plt.show()NumPy内置可视化(简单场景)from numpy import randomdata = random.rand(10, 10)# 生成10x10随机矩阵plt.imshow(data, cmap='hot')# 热图可视化plt.colorbar()plt.show()完整示例代码import numpy as npimport matplotlib.pyplot as plt# 创建数组arr = np.array([1, 2, 3, 4, 5])# 数组操作print("Original array:", arr)print("Sum:", np.sum(arr))print("Mean:", np.mean(arr))# 可视化plt.plot(arr, 'o-')# 折线图plt.title("NumPy Array Visualization")plt.show()注意事项

环境配置:确保PyCharm使用的Python解释器已安装NumPy(可通过pip list检查)。

python构建二维数组

Python中创建二维列表/数组,即创建一个list,并且这个list的元素还是list。可以用列表解析的方法实现。

创建例子如下:

2d_list = [[0 for col in range(cols)] for row in range(rows)]

其中cols, rows变量替换为你需要的数值即可,例如:

2d_list = [[0 for col in range(9)] for row in range(9)]# 9*9的二维列表

python二维数组筛选

在Python中,可以通过嵌套列表(列表中包含列表)的形式来表示多维数组,例如用二维列表表示矩阵。以下是具体方法和示例说明:

核心方法

嵌套列表结构

外层列表的每个元素是一个内层列表,代表多维数组的一行。

内层列表的元素为具体数据(如数值),代表该行的各列值。

动态构建多维数组

初始化空列表作为外层容器。

逐行处理数据,将每行数据转换为内层列表后追加到外层列表中。

示例:读取文件构建N×2矩阵

假设文件testSet.txt内容如下(每行两个用制表符分隔的数值):

1.02.03.04.05.06.0

代码实现

dataSet = []# 初始化外层列表,用于存储所有行fileIn = open("D:/xuepython/testSet.txt")# 打开文件for line in fileIn.readlines():# 去除行尾换行符并按制表符分割lineArr = line.strip().split('t')# 将每行数据转换为浮点数列表(内层列表)temp = [float(lineArr[0]), float(lineArr[1])]# 将内层列表追加到外层列表中dataSet.append(temp)fileIn.close()# 关闭文件# 输出结果示例print(dataSet)# 输出: [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]

简化写法:可直接用列表推导式或单行append简化代码:

dataSet = []fileIn = open("D:/xuepython/testSet.txt")for line in fileIn:dataSet.append([float(x) for x in line.strip().split('t')])fileIn.close()关键点说明

文件路径:使用正斜杠/或双反斜杠(Windows系统)。

js如何创建二维数组

Numpy基础操作

Numpy是Python中用于科学计算的基础库,提供了高性能的多维数组对象及相关工具。以下是Numpy的一些基础操作:

一、生成数组

np.ones((2,5))

生成一个2行5列的数组,数组中的所有元素都是1。

np.empty((2,5))

生成一个2行5列的数组,但数组中的元素是未初始化的,即它们的值是随机的。

np.arange(-10,10,3)

生成一个从-10开始到10(不包括10)结束,步长为3的一维数组。

np.linspace(-10,10,100)

生成一个从-10到10之间均匀分布的100个数的数组,相邻数之间的间距相同。

np.eye(10)

生成一个10x10的单位矩阵,即主对角线上的元素为1,其余元素为0。

二、索引

浅拷贝与深拷贝

对于Numpy数组,使用切片操作(如a[0:4])得到的是原数组的视图(浅拷贝),修改这个视图会影响原数组。

python怎么定义二维数组

NumPy是Python科学计算的核心库,通过ndarray对象实现高效数组操作。以下是关键技巧的总结:

1. 数组创建方法

np.array():从列表或元组创建数组,支持多维结构。import numpy as nparr = np.array([1, 2, 3])# 一维数组arr_2d = np.array([[1, 2], [3, 4]])# 二维数组

预分配内存

np.zeros((2, 3)):创建2行3列的全零数组。

np.ones((2, 2)):创建全1数组。

np.empty((3, 3)):创建未初始化的数组(值随机)。

等差/等间隔数组

np.arange(0, 10, 2):生成0到10(不含)步长为2的数组。

np.linspace(0, 1, 5):生成0到1之间5个等间隔点。

随机数组

np.random.rand(2, 2):生成0到1均匀分布的随机数组。

np.random.randn(2, 2):生成标准正态分布的随机数组。

以上就是python如何创建二维数组的全部内容,Python中创建二维列表/数组,即创建一个list,并且这个list的元素还是list。可以用列表解析的方法实现。创建例子如下:2d_list = [[0 for col in range(cols)] for row in range(rows)]其中cols, rows变量替换为你需要的数值即可,内容来源于互联网,信息真伪需自行辨别。如有侵权请联系删除。

猜你喜欢