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程序设计入门(2)变量类型简介
Jun 16 Python
Python内置函数dir详解
Apr 14 Python
Python中exit、return、sys.exit()等使用实例和区别
May 28 Python
Python如何为图片添加水印
Nov 25 Python
Python中你应该知道的一些内置函数
Mar 31 Python
Python 获得命令行参数的方法(推荐)
Jan 24 Python
对python中list的拷贝与numpy的array的拷贝详解
Jan 29 Python
解决python明明pip安装成功却找不到包的问题
Aug 28 Python
Python 使用type来定义类的实现
Nov 19 Python
浅谈Python中的字符串
Jun 10 Python
python归并排序算法过程实例讲解
Nov 04 Python
一篇文章带你了解Python和Java的正则表达式对比
Sep 15 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
德劲1104的电路分析与改良
2021/03/01 无线电
php上传文件的增强函数
2010/07/21 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
在Mac上编译安装PHP7的开发环境
2015/07/28 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
2019/05/20 PHP
修改好的jquery滚动字幕效果实现代码
2011/06/22 Javascript
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
js相册效果代码(点击创建即可)
2013/04/16 Javascript
JavaScript实现的圆形浮动标签云效果实例
2015/08/06 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
2016/01/23 Javascript
浅谈JS原生Ajax,GET和POST
2016/06/08 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
2016/07/01 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
2017/02/24 Javascript
Angularjs使用指令做表单校验的方法
2017/03/31 Javascript
兼容浏览器的js事件绑定函数(详解)
2017/05/09 Javascript
vue父组件通过props如何向子组件传递方法详解
2017/08/16 Javascript
jQuery实现的两种简单弹窗效果示例
2018/04/18 jQuery
每个 JavaScript 工程师都应懂的33个概念
2018/10/22 Javascript
Vue.js轮播图走马灯代码实例(全)
2019/05/08 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
2019/06/19 Javascript
nodejs中内置模块fs,path常见的用法说明
2020/11/07 NodeJs
[01:22:42]2014 DOTA2华西杯精英邀请赛 5 24 DK VS LGD
2014/05/26 DOTA
python对html代码进行escape编码的方法
2015/05/04 Python
深入浅析Python中join 和 split详解(推荐)
2016/06/30 Python
Numpy之文件存取的示例代码
2018/08/03 Python
keras.utils.to_categorical和one hot格式解析
2020/07/02 Python
matplotlib更改窗口图标的方法示例
2021/02/03 Python
HTML5离线缓存Manifest是什么
2016/03/09 HTML / CSS
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
美国在线眼镜商城:Eyeglasses.com
2017/06/26 全球购物
JD Sports德国官网:英国领先的运动鞋和运动服饰零售商
2018/02/26 全球购物
Groupon比利时官方网站:特卖和网上购物高达-70%
2019/08/09 全球购物
限量版运动鞋和街头服饰:TheDrop
2020/09/06 全球购物
企业诚信承诺书
2014/05/23 职场文书