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列表生成器的循环技巧分享
Mar 06 Python
Python中内建函数的简单用法说明
May 05 Python
python Selenium爬取内容并存储至MySQL数据库的实现代码
Mar 16 Python
python导入csv文件出现SyntaxError问题分析
Dec 15 Python
Python 中Pickle库的使用详解
Feb 24 Python
解决Python获取字典dict中不存在的值时出错问题
Oct 17 Python
Python选择网卡发包及接收数据包
Apr 04 Python
pygame库实现俄罗斯方块小游戏
Oct 29 Python
python生成并处理uuid的实现方式
Mar 03 Python
Python根据字典的值查询出对应的键的方法
Sep 30 Python
python 三种方法提取pdf中的图片
Feb 07 Python
Python使用UDP实现720p视频传输的操作
Apr 24 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 向右侧拉菜单实现代码,测试使用中
2009/11/03 PHP
PHP 编写大型网站问题集
2010/05/07 PHP
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
为你总结一些php系统类函数
2015/10/21 PHP
PHP+JQUERY操作JSON实例
2017/03/23 PHP
javascript函数库-集合框架
2007/04/27 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
2012/03/14 Javascript
js获取html参数及向swf传递参数应用介绍
2013/02/18 Javascript
原生js实现复制对象、扩展对象 类似jquery中的extend()方法
2014/08/30 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
2015/03/04 Javascript
Validform+layer实现漂亮的表单验证特效
2016/01/17 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
Vue 过滤器filters及基本用法
2017/12/26 Javascript
Element-UI Table组件上添加列拖拽效果实现方法
2018/04/14 Javascript
使用jquery DataTable和ajax向页面显示数据列表的方法
2018/08/09 jQuery
vue+canvas实现拼图小游戏
2020/09/18 Javascript
Python实现excel转sqlite的方法
2017/07/17 Python
python 读写中文json的实例详解
2017/10/29 Python
django模板结构优化的方法
2019/02/28 Python
在Django的View中使用asyncio的方法
2019/07/12 Python
Python常用库Numpy进行矩阵运算详解
2020/07/21 Python
python跨文件使用全局变量的实现
2020/11/17 Python
纯CSS3实现的井字棋游戏
2020/11/25 HTML / CSS
美国在线鲜花速递:ProFlowers
2017/01/05 全球购物
shallow copy和deep copy的区别
2016/05/09 面试题
几个Linux面试题笔试题
2016/08/01 面试题
高二美术教学反思
2014/01/14 职场文书
甜品店创业计划书
2014/08/14 职场文书
意外伤害赔偿协议书
2014/09/16 职场文书
2014年党员自我评价材料
2014/09/22 职场文书
2014年敬老院工作总结
2014/12/08 职场文书
给上级领导的感谢信
2015/01/22 职场文书
健康证明
2015/06/19 职场文书
Python爬取科目四考试题库的方法实现
2021/03/30 Python