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


Posted in Python onJune 26, 2019

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()

结果如下:

[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()函数中,第一个参数为待合并的矩阵、列表,第二个参数为0则表示是按照行连接数据,为1则表示是按照列连接数据。

从上面结果可以看到对于一维列表,axis参数可以省略,对于二维列表当axis为0时也可以省略

当axis为1时,需要注意被连接的数据矩阵行数列数需要相同才行,否则会报错:

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

即,当axis为1时,本质上就是将矩阵以行为基准对应行的数据直接连接即可

当axis为1时,本质上就是将矩阵以列为基准将数据以此向下堆放在一起即可

以上这篇Python使用numpy模块实现矩阵和列表的连接操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
浅谈Python中chr、unichr、ord字符函数之间的对比
Jun 16 Python
浅析Python中return和finally共同挖的坑
Aug 18 Python
Python中的defaultdict与__missing__()使用介绍
Feb 03 Python
TensorFlow实现卷积神经网络
May 24 Python
对python自动生成接口测试的示例讲解
Nov 30 Python
Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】
Apr 05 Python
python 中的列表生成式、生成器表达式、模块导入
Jun 19 Python
PyTorch中Tensor的维度变换实现
Aug 18 Python
Django框架模板用法入门教程
Nov 04 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
Nov 15 Python
python 求10个数的平均数实例
Dec 16 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
Feb 03 Python
Python 实现交换矩阵的行示例
Jun 26 #Python
对numpy下的轴交换transpose和swapaxes的示例解读
Jun 26 #Python
Python用Try语句捕获异常的实例方法
Jun 26 #Python
python调用自定义函数的实例操作
Jun 26 #Python
python读取并定位excel数据坐标系详解
Jun 26 #Python
python分数表示方式和写法
Jun 26 #Python
python字符串替换第一个字符串的方法
Jun 26 #Python
You might like
PHP中10个不常见却非常有用的函数
2010/03/21 PHP
php实现的SESSION类
2014/12/02 PHP
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
详解PHP中的mb_detect_encoding函数使用方法
2015/08/18 PHP
深入浅析php中sprintf与printf函数的用法及区别
2016/01/08 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
2016/08/17 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
如何解决PHP获取不到SESSION信息之一般情况
2019/10/10 PHP
获取HTML DOM节点元素的方法的总结
2009/08/21 Javascript
判断浏览器的javascript版本的代码
2010/09/03 Javascript
引用 js在IE与FF之间的区别详细解析
2013/11/20 Javascript
node.js中使用q.js实现api的promise化
2014/09/17 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
静态页面实现 include 引入公用代码的示例
2017/09/25 Javascript
javascript实现文件拖拽事件
2018/03/29 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
H5实现手机拍照和选择上传功能
2019/12/18 Javascript
Vuex实现数据共享的方法
2019/12/20 Javascript
python中enumerate函数用法实例分析
2015/05/20 Python
使用python3+xlrd解析Excel的实例
2018/05/04 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
Python代码实现删除一个list里面重复元素的方法
2019/04/02 Python
关于Numpy数据类型对象(dtype)使用详解
2019/11/27 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享
2014/06/11 HTML / CSS
Talbots官网:美国成熟女装品牌
2019/11/15 全球购物
介绍一下gcc特性
2012/01/20 面试题
毕业生的自我鉴定
2013/10/29 职场文书
通用求职信范文模板分享
2013/12/27 职场文书
美术第二课堂活动总结
2014/07/08 职场文书
工伤私了协议书范本
2014/11/24 职场文书
先进教师事迹材料
2014/12/16 职场文书
《灰雀》教学反思
2016/02/19 职场文书
Python机器学习应用之工业蒸汽数据分析篇详解
2022/01/18 Python
Python各协议下socket黏包问题原理
2022/04/12 Python