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 相关文章推荐
简单的编程0基础下Python入门指引
Apr 01 Python
Python单元测试框架unittest使用方法讲解
Apr 13 Python
Python 多线程实例详解
Mar 25 Python
python 动态生成变量名以及动态获取变量的变量名方法
Jan 20 Python
对python以16进制打印字节数组的方法详解
Jan 24 Python
树莓派极简安装OpenCv的方法步骤
Oct 10 Python
使用Python的networkx绘制精美网络图教程
Nov 21 Python
使用python模拟高斯分布例子
Dec 09 Python
Python-opencv 双线性插值实例
Jan 17 Python
使用Python三角函数公式计算三角形的夹角案例
Apr 15 Python
python多进程使用函数封装实例
May 02 Python
python自动化调用百度api解决验证码
Apr 13 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优于Node.js的五大理由分享
2012/09/15 PHP
Zend Framework分发器用法示例
2016/12/11 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
用jQuery简化JavaScript开发分析
2009/02/19 Javascript
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
如何屏蔽防止别的网站嵌入框架代码
2015/08/24 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
2015/10/22 Javascript
jquery跟随屏幕滚动效果的实现代码
2016/04/13 Javascript
如何用JS判断两个数字的大小
2016/07/21 Javascript
谈谈target=_new和_blank的不同之处
2016/10/25 Javascript
微信小程序 空白页重定向解决办法
2017/06/27 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
详解使用create-react-app添加css modules、sasss和antd
2018/07/31 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
VScode格式化ESlint方法(最全最好用方法)
2019/09/10 Javascript
Node绑定全局TraceID的实现方法
2019/11/14 Javascript
解决ant Design Search无法输入内容的问题
2020/10/29 Javascript
Python中的两个内置模块介绍
2015/04/05 Python
qpython3 读取安卓lastpass Cookies
2016/06/19 Python
python基础教程之匿名函数lambda
2017/01/17 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
2018/02/21 Python
PyCharm安装第三方库如Requests的图文教程
2018/05/18 Python
如何爬取通过ajax加载数据的网站
2019/08/15 Python
python基于FTP实现文件传输相关功能代码实例
2019/09/28 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
2020/05/19 Python
Python中logger日志模块详解
2020/08/04 Python
iHerb中文官网:维生素、保健品和健康产品
2018/11/01 全球购物
香奈儿美国官网:CHANEL美国
2020/05/20 全球购物
linux面试题参考答案(11)
2016/11/26 面试题
医院检讨书范文
2014/02/01 职场文书
文案策划专业自荐信
2014/07/07 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
街道办残联2016年助残日活动总结
2016/04/01 职场文书
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL