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 相关文章推荐
php使用递归与迭代实现快速排序示例
Jan 23 Python
Django中使用group_by的方法
May 26 Python
从局部变量和全局变量开始全面解析Python中变量的作用域
Jun 16 Python
Python 模拟购物车的实例讲解
Sep 11 Python
Python进阶之递归函数的用法及其示例
Jan 31 Python
tensorflow构建BP神经网络的方法
Mar 12 Python
python给微信好友定时推送消息的示例
Feb 20 Python
Python 函数返回值的示例代码
Mar 11 Python
浅谈pyqt5在QMainWindow中布局的问题
Jun 21 Python
Python Threading 线程/互斥锁/死锁/GIL锁
Jul 21 Python
Django 实现图片上传和下载功能
Dec 31 Python
baselines示例程序train_cartpole.py的ImportError
May 20 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中动态修改ini配置
2014/10/14 PHP
PHP中使用数组指针函数操作数组示例
2014/11/19 PHP
php+ajax实现无刷新分页
2015/11/18 PHP
PHP7 echo和print语句实例用法
2019/02/15 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
2019/03/18 PHP
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
JQuery从头学起第一讲
2010/07/04 Javascript
jQuery源码分析-01总体架构分析
2011/11/14 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
window.location.href的用法(动态输出跳转)
2014/08/09 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
vue2.0开发实践总结之疑难篇
2016/12/07 Javascript
JS基于面向对象实现的拖拽功能示例
2016/12/20 Javascript
Bootstrap3多级下拉菜单
2017/02/24 Javascript
js自定义瀑布流布局插件
2017/05/16 Javascript
Angular实现的table表格排序功能完整示例
2017/12/22 Javascript
微信小程序倒计时功能实例代码
2018/07/17 Javascript
Vue的生命周期操作示例
2019/09/17 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
Python中使用中文的方法
2011/02/19 Python
Python常用知识点汇总
2016/05/08 Python
Python Queue模块详细介绍及实例
2016/12/27 Python
python2.7和NLTK安装详细教程
2018/09/19 Python
python求最大值最小值方法总结
2019/06/25 Python
django将网络中的图片,保存成model中的ImageField的实例
2019/08/07 Python
详解python中的生成器、迭代器、闭包、装饰器
2019/08/22 Python
Myprotein瑞典官方网站:畅销欧洲英国运动营养品牌
2018/01/22 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
面料业务员岗位职责
2013/12/26 职场文书
党政领导班子群众路线对照检查材料
2014/10/26 职场文书
长城导游词300字
2015/01/30 职场文书
毕业论文指导老师意见
2015/06/04 职场文书
活动宣传稿范文
2015/07/23 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
微信小程序和php的登录实现
2021/04/01 PHP
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android