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之list和str比较
Sep 20 Python
在Python中使用HTMLParser解析HTML的教程
Apr 29 Python
python根据京东商品url获取产品价格
Aug 09 Python
使用Python的PIL模块来进行图片对比
Feb 18 Python
浅谈Python中函数的参数传递
Jun 21 Python
python递归删除指定目录及其所有内容的方法
Jan 13 Python
详解python中的装饰器
Jul 10 Python
python字典一键多值实例代码分享
Jun 14 Python
python进程池实现的多进程文件夹copy器完整示例
Nov 27 Python
python二元表达式用法
Dec 04 Python
用python实现学生管理系统
Jul 24 Python
python读取mnist数据集方法案例详解
Sep 04 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数据加密详解
2013/06/18 PHP
php遍历目录输出目录及其下的所有文件示例
2014/01/27 PHP
PHP输出九九乘法表代码实例
2015/03/27 PHP
修复ShopNC使用QQ 互联时提示100010 错误
2015/11/08 PHP
[原创]php实现子字符串位置相互对调互换的方法
2016/06/02 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
2019/08/02 PHP
理解JavaScript的caller,callee,call,apply
2009/04/28 Javascript
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
jQuery 1.5最新版本的改进细节分析
2011/01/19 Javascript
js获取客户端网卡的IP地址、MAC地址
2014/03/26 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
JS作为值的函数用法示例
2016/06/20 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
详解js中==与===的区别
2017/01/08 Javascript
jqueryUI tab标签页代码分享
2017/10/09 jQuery
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
2018/05/09 jQuery
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
使用rollup打包JS的方法步骤
2018/12/05 Javascript
JavaScript 面向对象程序设计详解【类的创建、实例对象、构造函数、原型等】
2020/05/12 Javascript
我所理解的JavaScript中的this指向
2020/09/04 Javascript
python自制包并用pip免提交到pypi仅安装到本机【推荐】
2019/06/03 Python
Python turtle库绘制菱形的3种方式小结
2019/11/23 Python
python中xlutils库用法浅析
2020/12/29 Python
HTML5中新标签和常用标签详解
2014/03/07 HTML / CSS
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
瑞士国际航空官网:SWISS
2016/07/21 全球购物
入党自我鉴定
2014/03/25 职场文书
竞选班长演讲稿500字
2014/08/22 职场文书
创先争优公开承诺书
2014/08/30 职场文书
幼儿园迎国庆65周年活动策划方案
2014/09/16 职场文书
乡镇党员干部四风对照检查材料思想汇报
2014/09/27 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
pytorch 两个GPU同时训练的解决方案
2021/06/01 Python
Java Spring读取和存储详细操作
2022/08/05 Java/Android