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中使用Boolean操作符做真值测试实例
Jan 30 Python
在Python中操作字符串之rstrip()方法的使用
May 19 Python
Python实现的概率分布运算操作示例
Aug 14 Python
numpy自动生成数组详解
Dec 15 Python
Python语言生成水仙花数代码示例
Dec 18 Python
Python pyinotify模块实现对文档的实时监控功能方法
Oct 13 Python
使用python判断你是青少年还是老年人
Nov 29 Python
Python实现字典按key或者value进行排序操作示例【sorted】
May 03 Python
python绘制地震散点图
Jun 18 Python
Pytorch自己加载单通道图片用作数据集训练的实例
Jan 18 Python
Python自动重新加载模块详解(autoreload module)
Apr 01 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
Jun 29 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常见数组函数用法小结
2016/03/21 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
浅谈php调用python文件
2019/03/29 PHP
Laravel推荐使用的十个辅助函数
2019/05/10 PHP
一个javascript参数的小问题
2008/03/02 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
2015/07/01 Javascript
JavaScript取得WEB安全颜色列表的方法
2015/07/14 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
2016/05/12 Javascript
微信小程序 数组中的push与concat的区别
2017/01/05 Javascript
JavaScript实现淘宝京东6位数字支付密码效果
2018/08/18 Javascript
使用apifm-wxapi模块中的问题及解决方法
2019/08/05 Javascript
JavaScript JSON数据处理全集(小结)
2019/08/15 Javascript
Vue根据条件添加click事件的方式
2019/11/09 Javascript
从表单校验看JavaScript策略模式的使用详解
2020/10/17 Javascript
Handtrack.js库实现实时监测手部运动(推荐)
2021/02/08 Javascript
MySQL适配器PyMySQL详解
2017/09/20 Python
一个月入门Python爬虫学习,轻松爬取大规模数据
2018/01/03 Python
Python Django简单实现session登录注销过程详解
2019/08/06 Python
opencv-python 提取sift特征并匹配的实例
2019/12/09 Python
python opencv实现信用卡的数字识别
2020/01/12 Python
Python 面向对象部分知识点小结
2020/03/09 Python
python 解决selenium 中的 .clear()方法失效问题
2020/09/01 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
微信小程序之html5 canvas绘图并保存到系统相册
2019/06/20 HTML / CSS
Huda Beauty官方商店:化妆和美容产品
2020/09/05 全球购物
说出你对remoting 和webservice的理解和应用
2014/06/08 面试题
户外婚礼策划方案
2014/02/08 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
小学师德标兵先进事迹材料
2014/05/25 职场文书
2014年审计工作总结
2014/11/17 职场文书
《攀登者》:“海拔8000米以上,你不能指望任何人”
2019/11/25 职场文书
Vue实现下拉加载更多
2021/05/09 Vue.js
opencv 分类白天与夜景视频的方法
2021/06/05 Python
Sql Server之数据类型详解
2022/02/28 SQL Server