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

目录
  • Numpy创建矩阵并等间隔抽取数据
    • 1、利用Numpy创建向量和二维矩阵
    • 1.2 创建二维矩阵
    • 2、等间隔抽取数据
    • 3、N维矩阵抽取同理
  • 对Numpy数据多个维度上等间隔取值
  • 总结

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

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

1.1 创建向量

得到

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

即只有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]

总结

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

(0)

相关推荐

  • Numpy创建NumPy矩阵的简单实现

    目录 创建NumPy矩阵 1. 创建矩阵 2. 创建分块矩阵 3. 矩阵计算 4. 矩阵属性 创建NumPy矩阵 NumPy对于多维数组的运算,默认情况下并不进行矩阵运算.如果需要对数组进行矩阵运算,则可以调用相应的函数. 在NumPy中,矩阵是ndarray的子类. 在NumPy中,数组和矩阵有着重要的区别.NumPy提供了两个基本的对象:一个N维数组对象和一个通用函数对象.其他对象都是在它们之上构建的. 矩阵是继承自NumPy数组对象的二维数组对象.与数学概念中的矩阵一样,NumPy中的矩阵

  • python list数据等间隔抽取并新建list存储的例子

    原始数据如下: ['e3cd', 'e547', 'e63d', '0ffd', 'e39b', 'e539', 'e5be', '0dd2', 'e3d6', 'e52e', 'e5f8', '0000', 'e404', 'e52b', 'e63d', '0312', 'e38b'] 将其分割为4路数据,分别存储在fetal1.fetal2.mother1.ECG的列表中,各列表对齐,不能整除于4的数据舍去,操作如下: da = ['e3cd', 'e547', 'e63d', '0ffd'

  • 在NumPy中创建空数组/矩阵的方法

    如何在NumPy中创建空数组/矩阵? 在添加行的情况下,你最好的选择是创建一个与数据集最终一样大的数组,然后向它添加数据 row-by-row: >>> import numpy >>> a = numpy.zeros(shape=(5,2)) >>> a array([[ 0., 0.], [ 0., 0.], [ 0., 0.], [ 0., 0.], [ 0., 0.]]) >>> a[0] = [1,2] >>&g

  • Python NumPy教程之数组的创建详解

    目录 使用 List 创建数组 使用数组函数创建数组 使用 numpy 方法创建数组 重塑数组 展平数组 在 Numpy 中创建数组的方法 使用 List 创建数组 数组用于在一个变量中存储多个值.Python 没有对数组的内置支持,但可以使用 Python 列表代替. 例子 : arr = [1, 2, 3, 4, 5] arr1 = ["geeks", "for", "geeks"] # 用于创建数组的 Python 程序 # 使用列表创建数

  • 在python Numpy中求向量和矩阵的范数实例

    np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数. 函数参数 x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False) ①x: 表示矩阵(也可以是一维) ②ord:范数类型 向量的范数: 矩阵的范数: ord=1:列和的最大值 ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根 ord=∞:行和的最大值 ③axis:处理类型 axis=1表

  • numpy使用fromstring创建矩阵的实例

    使用字符串创建矩阵是一个很实用的功能,之前自己尝试了很多次的小功能使用这个方法就能够简单实现. 创建长度为16的字符串,是为了方便能够在各种数据类型之间转换. >>> s = "mytestfromstring" >>> len(s) 16 这个功能其实是比较让我兴奋的一个小功能,因为这个简单的转换实现了ASCII码的转换 >>> np.fromstring(s,dtype=np.int8) array([109, 121, 116

  • numpy中以文本的方式存储以及读取数据方法

    Numpy中除了能够把数据以二进制文件的方式保存到文件中以外,还可以选择把数据保存到文本文件中.如果我有磁盘存储的需要,我一般会选择文本的存储,因为后期的处理工具会有更多的选择. 文本存储数据文件可以采用savetxt的功能,而相应文件的加载可以采用loadtxt的功能.与二进制存储不同,savetxt的功能不会自动追加扩展名. 接下来做简单的操作练习示范: In [15]: arr1 =rand(5,4) In [16]: arr1 Out[16]: array([[0.21349492, 0

  • 详解Python NumPy中矩阵和通用函数的使用

    目录 一.创建矩阵 二.从已有矩阵创建新矩阵 三.通用函数 四.算术运算 在NumPy中,矩阵是 ndarray 的子类,与数学概念中的矩阵一样,NumPy中的矩阵也是二维的,可以使用 mat . matrix 以及 bmat 函数来创建矩阵. 一.创建矩阵 mat 函数创建矩阵时,若输入已为 matrix 或 ndarray 对象,则不会为它们创建副本. 因此,调用 mat() 函数和调用 matrix(data, copy=False) 等价. 1) 在创建矩阵的专用字符串中,矩阵的行与行之

  • Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例

    Numpy matrix 必须是2维的,但是 numpy arrays (ndarrays) 可以是多维的(1D,2D,3D····ND),matrix是Array的一个小的分支,包含于Array. import numpy as np >>> m = np.mat([[1,2],[3,4]]) >>> m[0] #读取一行 matrix([[1, 2]]) >>> m[:,0] #读取一列 matrix([[1], [3]]) numpy中数组和矩阵

  • 浅谈numpy中linspace的用法 (等差数列创建函数)

    linspace 函数 是创建等差数列的函数, 最好是在 Matlab 语言中见到这个函数的,近期在学习Python 中的 Numpy, 发现也有这个函数,以下给出自己在学习过程中的一些总结. (1)指定起始点 和 结束点. 默认 等差数列个数为 50. (2)指定等差数列个数 (3)如果数列的元素个数指定, 可以设置 结束点 状态. endpoint : bool, optional If True, stop is the last sample. Otherwise, it is not

  • Python numpy中矩阵的基本用法汇总

    Python矩阵的基本用法 mat()函数将目标数据的类型转化成矩阵(matrix) 1,mat()函数和array()函数的区别 Numpy函数库中存在两种不同的数据类型(矩阵matrix和数组array),都可以用于处理行列表示的数字元素,虽然他们看起来很相似,但是在这两个数据类型上执行相同的数学运算可能得到不同的结果,其中Numpy函数库中的matrix与MATLAB中matrices等价. 直接看一个例子: import numpy as np a = np.mat('1 3;5 7')

  • numpy中矩阵合并的实例

    python中科学计算包numpy中矩阵的合并,需要用到如下两个函数: 列合并:np.column_stack() ,其中函数参数为一个tuple 行合并:np.row_stack(),其中函数参数为一个tuple >>> import numpy as np >>> a = np.arange(8).reshape(4, -1) >>> print(a) [[0 1] [2 3] [4 5] [6 7]] >>> b = np.ar

  • Numpy中对向量、矩阵的使用详解

    在下面的代码里面,我们利用numpy和scipy做了很多工作,每一行都有注释,讲解了对应的向量/矩阵操作. 归纳一下,下面的代码主要做了这些事: 创建一个向量 创建一个矩阵 创建一个稀疏矩阵 选择元素 展示一个矩阵的属性 对多个元素同时应用某种操作 找到最大值和最小值 计算平均值.方差和标准差 矩阵变形 转置向量或矩阵 展开一个矩阵 计算矩阵的秩 计算行列式 获取矩阵的对角线元素 计算矩阵的迹 计算特征值和特征向量 计算点积 矩阵的相加相减 矩阵的乘法 计算矩阵的逆 一起来看代码吧: # 加载n

随机推荐