脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Numpy中如何创建矩阵并等间隔抽取数据

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

2023-05-11 14:06Mr_Wang_up Python

这篇文章主要介绍了Numpy中如何创建矩阵并等间隔抽取数据问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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数据多个维度上等间隔取值

?
1
2
3
4
5
6
7
8
9
10
11
12
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前两个维度等间隔取值,若要在第三个维度也等间隔取值,再加一个逗号即可

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

 

总结

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

原文链接:https://blog.csdn.net/qq_42031142/article/details/120485551

延伸 · 阅读

精彩推荐
  • PythonPython语法中的模糊语义

    Python语法中的模糊语义

    这篇文章主要介绍的是Python语法中的模糊语义,下面文章具体内容包括切片不执行越界检查和报错、空列表的创建、闭包的延迟绑定,需要的朋友可以参考一...

    小小程序员ol7722022-02-25
  • Pythonpython高级内置函数用法实例

    python高级内置函数用法实例

    在本篇文章里小编给大家整理的是一篇关于python高级内置函数用法实例内容,有兴趣的朋友们可以学参考下。...

    小妮浅浅4922022-01-11
  • Python推荐11个实用Python库

    推荐11个实用Python库

    这篇文章主要推荐了11个实用Python库,都有这不错的群众基础,非常好用,也都很实用,推荐给大家。 ...

    脚本之家3342020-05-20
  • PythonKeras函数式(functional)API的使用方式

    Keras函数式(functional)API的使用方式

    这篇文章主要介绍了Keras函数式(functional)API的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    黄然大悟10482023-02-26
  • PythonPython自制简单实用的日志装饰器

    Python自制简单实用的日志装饰器

    在写代码的时候,往往会漏掉日志这个关键因素,导致功能在使用的时候出错却无法溯源。其实,只需要写一个非常简单的日志装饰器,我们就能大大提升...

    菜鸟学Python3752021-07-28
  • Pythonpython实现祝福弹窗效果

    python实现祝福弹窗效果

    这篇文章主要为大家详细介绍了python实现祝福弹窗效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    陌测9762021-06-13
  • Pythonpython 重命名轴索引的方法

    python 重命名轴索引的方法

    今天小编就为大家分享一篇python 重命名轴索引的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    CWS_chen10952021-04-18
  • Pythonpython多线程并发实例及其优化

    python多线程并发实例及其优化

    这篇文章主要介绍了python多线程并发实例及其优化,threading是扩展模块,在thread的基础上进行了封装及改进。所以只需要使用threading这个模块就能完成并发的...

    linux超9432021-07-24