Python使用numpy模块实现矩阵和列表的连接操作方法

花开有时
花开有时
发布时间:2026-10-13| 6人浏览过
原创

本文介绍Python中numpy模块的np.concatenate函数,用于高效连接矩阵和列表。通过演示一维列表及二维矩阵在axis为0(行连接)和axis为1(列连接)时的具体用法,解析参数对结果的影响及维度匹配要求,帮助开发者掌握数据拼接技巧。

numpy矩阵与列表连接函数简介

Numpy模块在科学计算和数值处理领域应用广泛,其功能强大。以往在处理特征数据时,若需进行列表或矩阵的拼接,通常需自行编写函数。近期发现Numpy内置了专门用于矩阵和列表连接的函数,不仅使用便捷,且性能优异,值得深入实践。


#!usr/bin/env python
#encoding:utf-8
from __future__ import division
 
'''
__Author__:沂水寒城
使用numpy模块实现矩阵的连接操作
'''
 
import numpy as np
 
def simple_test():
  '''
  简单的小实验
  '''
  sim_one,sim_two=[1,5,8,0,3,6],[11,5,8,0,3]
  one_list=[[1,2,3],[1,2,1],[3,4,5],[4,5,6]]
  two_list=[[5,6,7],[6,7,8],[6,7,9],[0,4,7],[4,6,0],[2,9,1],[5,8,7],[9,7,8],[3,7,9]]
  three_list=[[0,4,3,7],[4,6,1,0],[2,5,9,1]]
  three_list=np.array(three_list)
  four_list=[[2,9,1],[5,8,7],[9,7,8],[3,7,9]]
  print '对一维列表连接结果为:'
  pring np.concatenate([sim_one,sim_two],axis=0)
  print '对两个矩阵按行连接结果为:'
  print np.concatenate([one_list,two_list],axis=0)
  print '对两个矩阵按列连接结果为:'
  print np.concatenate([one_list,three_list.T],axis=1)
  print np.concatenate([one_list,four_list],axis=1)
 
 
if __name__ == '__main__':
  simple_test()

运行上述代码后,输出结果如下所示:

np.concatenate函数参数与连接方向解析


[Decode error - output not utf-8]
[Decode error - output not utf-8]
[ 1 5 8 0 3 6 11 5 8 0 3]
对两个矩阵按行连接结果为:
[[1 2 3]
 [1 2 1]
 [3 4 5]
 [4 5 6]
 [5 6 7]
 [6 7 8]
 [6 7 9]
 [0 4 7]
 [4 6 0]
 [2 9 1]
 [5 8 7]
 [9 7 8]
 [3 7 9]]
对两个矩阵按列连接结果为:
[[1 2 3 0 4 2]
 [1 2 1 4 6 5]
 [3 4 5 3 1 9]
 [4 5 6 7 0 1]]
[[1 2 3 2 9 1]
 [1 2 1 5 8 7]
 [3 4 5 9 7 8]
 [4 5 6 3 7 9]]
[Finished in 0.5s]

在np.concatenate()函数中,第一个参数指定待合并的矩阵或列表序列。第二个参数axis用于控制连接方向:当axis为0时,表示按行进行连接;当axis为1时,表示按列进行连接。

从上述运行结果可以看出,对于一维列表的操作,axis参数可以省略;同样地,对于二维列表,当axis设置为0(即按行连接)时,该参数也可省略不写。

然而,当axis设置为1(按列连接)时,必须确保参与连接的各个数据矩阵具有相同的行数,否则程序将抛出错误:

axis=1时的维度匹配要求与连接逻辑


AttributeError: 'list' object has no attribute 'T'

这表明,当axis为1时,连接操作的本质是将矩阵以列为基准,将对应行的数据横向拼接在一起。

反之,当axis为0时,连接操作的本质是将矩阵以行为基准,将数据纵向堆叠在一起。

以上介绍了Python使用numpy模块实现矩阵和列表连接的具体操作方法,希望能对读者有所帮助,也欢迎大家继续支持本站获取更多技术分享。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。