Python使用numpy模块实现矩阵和列表的连接操作方法

 更新时间:2019年06月26日 18:25:59   作者:Together_CZ  
今天小编就为大家分享一篇Python使用numpy模块实现矩阵和列表的连接操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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利用代码计算2个坐标之间的距离

    Python利用代码计算2个坐标之间的距离

    这篇文章主要介绍了Python利用代码计算2个坐标之间的距离,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 在Python的框架中为MySQL实现restful接口的教程

    在Python的框架中为MySQL实现restful接口的教程

    这篇文章主要介绍了在Python的框架中为MySQL实现restful接口的教程,文中的示例基于Flask和Django框架,需要的朋友可以参考下
    2015-04-04
  • python实现企业微信定时发送文本消息的示例代码

    python实现企业微信定时发送文本消息的示例代码

    这篇文章主要介绍了python实现企业微信定时发送文本消息的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 利用PyQt5模拟实现网页鼠标移动特效

    利用PyQt5模拟实现网页鼠标移动特效

    不知道大家有没有发现,博客园有些博客左侧会有鼠标移动特效。通过移动鼠标,会形成类似蜘蛛网的特效,本文将用PyQt5实现这一特效,需要的可以参考一下
    2022-03-03
  • Python配置文件管理之ini和yaml文件读取的实现

    Python配置文件管理之ini和yaml文件读取的实现

    本文主要介绍了Python配置文件管理之ini和yaml文件读取,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • requests库post方法如何传params类型的参数(最新推荐)

    requests库post方法如何传params类型的参数(最新推荐)

    在使用requests库的post方法时,params类型的参数用于在URL中作为查询字符串传递,与data或json参数不同,后者是放在请求体中的,params参数接受一个字典或包含键值对的序列,本文给大家介绍requests库post方法怎么传params类型的参数,感兴趣的朋友一起看看吧
    2025-03-03
  • python得到qq句柄,并显示在前台的方法

    python得到qq句柄,并显示在前台的方法

    今天小编就为大家分享一篇python得到qq句柄,并显示在前台的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python爬取视频时长场景实践示例

    Python爬取视频时长场景实践示例

    这篇文章主要为大家介绍了Python获取视频时长场景实践示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Django项目创建及管理实现流程详解

    Django项目创建及管理实现流程详解

    这篇文章主要介绍了Django项目创建及管理实现流程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Django restframework 框架认证、权限、限流用法示例

    Django restframework 框架认证、权限、限流用法示例

    这篇文章主要介绍了Django restframework 框架认证、权限、限流用法,结合实例形式详细分析了Djangorestframework 框架认证、权限、限流的具体使用方法及相关操作注意事项,需要的朋友可以参考下
    2019-12-12

最新评论