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

作者:Mr_Wang_up 时间:2023-01-14 16:21:16 

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

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

1.1 创建向量

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

得到

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

需要强调的是,向量的维度,在python中并不是书本上所学的Numpy中如何创建矩阵并等间隔抽取数据,而是

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

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

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

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

1.2 创建二维矩阵

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

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

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

2、等间隔抽取数据

2.1 向量抽取

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

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

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

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

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

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

2.2 二维矩阵抽取

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

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

如图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

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

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)

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

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

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

来源:https://blog.csdn.net/qq_42031142/article/details/120485551

标签:Numpy,创建矩阵,间隔,抽取数据
0
投稿

猜你喜欢

  • 使用Protocol Buffers的C语言拓展提速Python程序的示例

    2022-12-04 08:46:20
  • Pygame实战练习之飞机大战游戏

    2021-01-13 13:11:25
  • Python实现基于PIL和tesseract的验证码识别功能示例

    2022-10-22 23:09:54
  • IE6 升级要不要?

    2009-07-23 20:44:00
  • JavaScript修改作用域外变量的方法

    2024-04-10 16:12:01
  • php结合js实现点击超链接执行删除确认操作

    2023-11-15 03:30:51
  • django 数据库返回queryset实现封装为字典

    2024-01-20 15:43:43
  • golang解析网页利器goquery的使用方法

    2023-10-13 06:36:12
  • FrontPage创建HTML/ASP混合页面

    2008-05-08 14:26:00
  • 有时间先后的翻页

    2008-05-23 13:14:00
  • JBuilderX+SQL Server开发hibernate

    2023-06-27 00:30:37
  • Python命令启动Web服务器实例详解

    2022-10-09 11:53:42
  • asp如何删除数据库中的表或索引?

    2010-06-26 12:23:00
  • 解决项目pycharm能运行,在终端却无法运行的问题

    2021-11-03 21:05:07
  • golang 获取字符串长度的案例

    2024-04-27 15:40:47
  • 浏览器右下角弹出提示窗口

    2008-10-30 12:37:00
  • Python实现基于POS算法的区块链

    2023-10-30 01:47:19
  • 使用python将微信image下.dat文件解密为.png的方法

    2022-11-12 06:39:38
  • 最新IntelliJ IDEA 2020.2永久激活码(亲测有效)

    2023-07-09 01:45:14
  • MySQL创建数据库并支持中文字符的操作方法

    2024-01-27 16:09:45
  • asp之家 网络编程 m.aspxhome.com