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实现抓取网页并且解析的实例
Sep 20 Python
使用Python生成url短链接的方法
May 04 Python
简单解决Python文件中文编码问题
Nov 22 Python
python读取word文档,插入mysql数据库的示例代码
Nov 07 Python
元组列表字典(莫烦python基础)
Apr 03 Python
Python调用百度根据经纬度查询地址的示例代码
Jul 07 Python
如何使用pandas读取txt文件中指定的列(有无标题)
Mar 05 Python
使用Python构造hive insert语句说明
Jun 06 Python
python 爬取B站原视频的实例代码
Sep 09 Python
Python colormap库的安装和使用详情
Oct 06 Python
用python基于appium模块开发一个自动收取能量的小助手
Sep 25 Python
Python Matplotlib绘制等高线图与渐变色扇形图
Apr 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
php木马攻击防御之道
2008/03/24 PHP
ThinkPHP自动验证失败的解决方法
2011/06/09 PHP
PHP版本常用的排序算法汇总
2015/12/20 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
使用PHP访问RabbitMQ消息队列的方法示例
2018/06/06 PHP
自适应高度框架 ----属个人收藏内容
2007/01/22 Javascript
js 对象是否存在判断
2009/07/15 Javascript
基于jQuery的图片剪切插件
2011/08/03 Javascript
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
javascript中的parseInt和parseFloat区别
2013/07/12 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
2013/09/27 Javascript
jquery 设置style:display的方法
2015/01/29 Javascript
Java遍历集合方法分析(实现原理、算法性能、适用场合)
2016/04/25 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
jQuery 开发之EasyUI 添加数据的实例
2017/09/26 jQuery
vue自定义指令directive实例详解
2018/01/17 Javascript
基于vue cli重构多页面脚手架过程详解
2018/01/23 Javascript
JS内部事件机制之单线程原理
2018/07/02 Javascript
前端Electron新手入门教程详解
2019/06/21 Javascript
JavaScript原型继承和原型链原理详解
2020/02/04 Javascript
开发Node CLI构建微信小程序脚手架的示例
2020/03/27 Javascript
微信小程序仿抖音短视频切换效果的实例代码
2020/06/24 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
2020/11/06 Javascript
[52:03]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第三场 1月31日
2021/03/11 DOTA
Python之inspect模块实现获取加载模块路径的方法
2018/10/16 Python
python计算两个矩形框重合百分比的实例
2018/11/07 Python
python画蝴蝶曲线图的实例
2019/11/21 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
Pandas DataFrame求差集的示例代码
2020/12/13 Python
浅析HTML5的WebSocket与服务器推送事件
2016/02/19 HTML / CSS
清洁工岗位职责
2014/01/29 职场文书
三好生演讲稿
2014/09/12 职场文书
男方家长婚礼致辞
2015/07/27 职场文书
Python Pandas pandas.read_sql函数实例用法
2021/06/21 Python