Numpy中如何创建矩阵并等间隔抽取数据

 更新时间:2023年05月10日 15:01:30   作者:Mr_Wang_up  
这篇文章主要介绍了Numpy中如何创建矩阵并等间隔抽取数据问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Numpy创建矩阵并等间隔抽取数据

1、利用Numpy创建向量和二维矩阵

1.1 创建向量

得到

需要强调的是,向量的维度,在python中并不是书本上所学的N*1,而是

即只有9,向量的列数1,被置为空。

注意的是,无论是行向量还是列向量,维度都是(N,空),而不会(空,N)

由于列数是空,所以与矩阵相乘的时候,无法放在左边,即不能向量*矩阵,只能矩阵乘向量

1.2 创建二维矩阵

 注意:这里1前面有两个中括号(N维矩阵就是N个中括号)。结果为:

2、等间隔抽取数据

2.1 向量抽取

由于向量只有一维,所以只需

解释:a[0:9:2]表示向量中第[0~9)位置处的数据按照每2个取一个的规则取出。由于0~9是前闭后开区间,所以等价于抽取第0,2,4,6,8个位置的数据

且如果a[0,0:9:2]会报错,错误如下:

这是因为向量只有一维,a[0,0:9:2]表示的是第一维是0,第二维是0:9:2,所以报错。

2.2 二维矩阵抽取

由于二维矩阵有两维,所以需要

如图b是一个3行5列的矩阵

(1) 抽取的行为0:3:2,即[0,3)行中每两行取一行,则取出来是第0行和第2行,

(2) 抽取的列为0:5:3,即[0,5)列中每3列取一列,则取出来是第0列和第3列。

综上,取出来的数据是b(0,0)=1,b(0,3)=4,b(2,0)=1,b(2,3)=3

3、N维矩阵抽取同理

对Numpy数据多个维度上等间隔取值

import torch
import numpy as np
import time
from torch.autograd import Variable
a=np.arange(256*256*3)
d256=a.reshape((256,256,3))
d128=d256[::2,::2]
print(d128.shape)
d64=d256[::4,::4]
print(d64.shape)
d32=d256[::8,::8]
print(d32.shape)

两个冒号后面的数字表示取间隔的大小,上面只在d256前两个维度等间隔取值,若要在第三个维度也等间隔取值,再加一个逗号即可

d=d256[::2,::2,::2]

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python定时器使用示例分享

    python定时器使用示例分享

    这篇文章主要介绍了python定时器使用示例,需要的朋友可以参考下
    2014-02-02
  • django加载本地html的方法

    django加载本地html的方法

    今天小编就为大家分享一篇django加载本地html的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 在 Python 中使用 7zip 备份文件的操作

    在 Python 中使用 7zip 备份文件的操作

    这篇文章主要介绍了在 Python 中使用 7zip 备份文件的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • python 引用传递和值传递详解(实参,形参)

    python 引用传递和值传递详解(实参,形参)

    这篇文章主要介绍了python 引用传递和值传递详解(实参,形参)。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • pandas的resample重采样的使用

    pandas的resample重采样的使用

    这篇文章主要介绍了pandas的resample重采样的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 基于django2.2连oracle11g解决版本冲突的问题

    基于django2.2连oracle11g解决版本冲突的问题

    这篇文章主要介绍了基于django2.2连oracle11g解决版本冲突的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • python manage.py runserver流程解析

    python manage.py runserver流程解析

    这篇文章主要介绍了python manage.py runserver流程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • python 数据加密代码

    python 数据加密代码

    使用Python来做数据加密同样简单,可以使用hashlib或者hmac模块来做数据加密
    2008-12-12
  • 纯numpy数值微分法实现手写数字识别

    纯numpy数值微分法实现手写数字识别

    本文主要介绍了纯numpy数值微分法实现手写数字识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • python求质数的3种方法

    python求质数的3种方法

    这篇文章主要为大家详细介绍了python求质数的多种方法,多种方法求质数的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09

最新评论