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的Flask框架与数据库连接的教程
Apr 20 Python
Python 专题六 局部变量、全局变量global、导入模块变量
Mar 20 Python
Python处理CSV与List的转换方法
Apr 19 Python
Python反射和内置方法重写操作详解
Aug 27 Python
使用11行Python代码盗取了室友的U盘内容
Oct 23 Python
python中如何使用分步式进程计算详解
Mar 22 Python
Python基础之条件控制操作示例【if语句】
Mar 23 Python
对python中的*args与**kwgs的含义与作用详解
Aug 28 Python
Tensorflow训练MNIST手写数字识别模型
Feb 13 Python
python-xpath获取html文档的部分内容
Mar 06 Python
python实现飞船游戏的纵向移动
Apr 24 Python
解决阿里云邮件发送不能使用25端口问题
Aug 07 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 htmlspecialchars加强版
2010/02/16 PHP
PHP extract 将数组拆分成多个变量的函数
2010/06/30 PHP
PHP读取网页文件内容的实现代码(fopen,curl等)
2011/06/23 PHP
php 文件缓存函数
2011/10/08 PHP
PHP防CC攻击实现代码
2011/12/29 PHP
PHP常用日期加减计算方法实例小结
2018/07/31 PHP
自己开发Dojo的建议框架
2008/09/24 Javascript
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
20个非常棒的Jquery实用工具 国外文章
2010/01/01 Javascript
jquery 简单的进度条实现代码
2010/03/11 Javascript
用json方式实现在 js 中建立一个map
2014/05/02 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
2015/08/17 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
2015/12/13 Javascript
babel基本使用详解
2017/02/17 Javascript
详解微信第三方小程序代开发
2017/06/23 Javascript
vue二级路由设置方法
2018/02/09 Javascript
Vue CLI2升级至Vue CLI3的方法步骤
2019/05/20 Javascript
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
如何通过JS实现日历简单算法
2020/10/14 Javascript
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
Python在图片中添加文字的两种方法
2017/04/29 Python
pandas DataFrame 行列索引及值的获取的方法
2019/07/02 Python
Python通过VGG16模型实现图像风格转换操作详解
2020/01/16 Python
意大利在线大学图书馆:Libreria universitaria
2019/07/16 全球购物
js实现弹框效果
2021/03/24 Javascript
保安员岗位职责
2013/11/17 职场文书
终端业务员岗位职责
2013/11/27 职场文书
大学生水果店创业计划书
2014/01/28 职场文书
乡镇群众路线专项整治方案
2014/11/03 职场文书
英语邀请函范文
2015/02/02 职场文书
自我工作评价范文
2015/03/06 职场文书
志愿者服务活动总结报告
2015/05/06 职场文书
小学英语教师2015年度个人工作总结
2015/10/14 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
《废话连篇——致新手》——chinapizza
2022/04/05 无线电