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 20 Python
python中子类继承父类的__init__方法实例
Dec 15 Python
深入探究Django中的Session与Cookie
Jul 30 Python
Python DataFrame 设置输出不显示index(索引)值的方法
Jun 07 Python
python paramiko利用sftp上传目录到远程的实例
Jan 03 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
Jul 03 Python
详细介绍pandas的DataFrame的append方法使用
Jul 31 Python
python numpy 矩阵堆叠实例
Jan 17 Python
解决tensorflow训练时内存持续增加并占满的问题
Jan 19 Python
Python基于smtplib模块发送邮件代码实例
May 29 Python
Python同时迭代多个序列的方法
Jul 28 Python
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
May 14 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
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
php安装ssh2扩展的方法【Linux平台】
2016/07/20 PHP
微信支付扫码支付php版
2016/07/22 PHP
总结对比php中的多种序列化
2016/08/28 PHP
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
一个简单的Ext.XTemplate的实例代码
2012/03/18 Javascript
javascript里模拟sleep(两种实现方式)
2013/01/25 Javascript
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
ionic3实战教程之随机布局瀑布流的实现方法
2017/12/28 Javascript
JS代码实现电脑配置检测功能
2018/03/21 Javascript
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
2018/12/06 jQuery
理理Vue细节(推荐)
2019/04/16 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
js中实现继承的五种方法
2021/01/25 Javascript
django1.8使用表单上传文件的实现方法
2016/11/04 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
Python3删除排序数组中重复项的方法分析
2019/01/31 Python
Python3获取电脑IP、主机名、Mac地址的方法示例
2019/04/11 Python
Python做图像处理及视频音频文件分离和合成功能
2020/11/24 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
Melissa香港官网:MDreams
2016/07/01 全球购物
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
屈臣氏菲律宾官网:Watsons菲律宾
2020/06/30 全球购物
linux面试题参考答案(3)
2012/09/13 面试题
某公司部分笔试题
2013/11/05 面试题
四种会话跟踪技术
2015/05/20 面试题
公司人力资源的自我评价
2014/01/02 职场文书
部队万能检讨书
2014/02/20 职场文书
民族学专业职业生涯规划范文:积跬步以至千里
2014/09/11 职场文书
小学端午节活动总结
2015/02/11 职场文书
天河观后感
2015/06/11 职场文书
2016年小学中秋节活动总结
2016/04/05 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers