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 相关文章推荐
探索Python3.4中新引入的asyncio模块
Apr 08 Python
python删除过期文件的方法
May 29 Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
Dec 21 Python
使用Python实现租车计费系统的两种方法
Sep 29 Python
使用python判断你是青少年还是老年人
Nov 29 Python
python 实现将多条曲线画在一幅图上的方法
Jul 07 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
Aug 23 Python
Python实现RGB与HSI颜色空间的互换方式
Nov 27 Python
Python通过2种方法输出带颜色字体
Mar 02 Python
使用python实现飞机大战游戏
Mar 23 Python
Python多进程multiprocessing、进程池用法实例分析
Mar 24 Python
python 逐步回归算法
Apr 06 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
yii操作session实例简介
2014/07/31 PHP
php传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
2016/05/12 PHP
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
PHP 数组current和next用法分享
2015/03/05 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
javascript与jquery中的this关键字用法实例分析
2015/12/24 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
2016/12/21 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
Webpack实战加载SVG的方法
2017/12/26 Javascript
JS实现的抛物线运动效果示例
2018/01/30 Javascript
Less 安装及基本用法
2018/05/05 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
2018/08/03 jQuery
微信小程序实现滚动加载更多的代码
2019/12/06 Javascript
js实现登录拖拽窗口
2020/02/10 Javascript
Python实现的HTTP并发测试完整示例
2020/04/23 Python
python利用微信公众号实现报警功能
2018/06/10 Python
Tensorflow使用tfrecord输入数据格式
2018/06/19 Python
Pycharm+Python+PyQt5使用详解
2019/09/25 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
露营世界:Camping World
2017/02/02 全球购物
为什么要用EJB
2014/04/17 面试题
高中生学习总结的自我评价范文
2013/10/13 职场文书
《猴子种果树》教学反思
2014/04/26 职场文书
物流管理专业自荐信
2014/06/23 职场文书
建筑工程技术专业求职信
2014/07/16 职场文书
党员自我评价2015
2015/03/03 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL
Spring中的使用@Async异步调用方法
2021/11/01 Java/Android