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]
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
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
随机推荐
- AngularJS动态绑定ng-options的ng-model实例代码
- IOS NSNotification 键盘遮挡问题的解决办法
- MySQL基本操作语句小结
- jquery实现的一个简单进度条效果实例
- vuejs动态组件给子组件传递数据的方法详解
- Js 打字效果 逐一出现的文字
- 查找php配置文件php.ini所在路径的二种方法
- python使用fileinput模块实现逐行读取文件的方法
- Android控件系列之EditText使用方法
- asp.net Page.Controls对象(找到所有服务器控件)
- java实现cassandra高级操作之分页实例(有项目具体需求)
- JS验证控制输入中英文字节长度(input、textarea等)具体实例
- js 实现一些跨浏览器的事件方法详解及实例
- PowerShell查找数组内容、搜索数组、查询数组的方法
- NoSQL开篇之为什么要使用NoSQL
- asp.net创建事务的方法
- 基于jquery的淡入淡出选项卡效果代码
- 详解Android自定义控件属性
- form表单回写技术java实现
- C#实现翻转字符串的方法
其他
- Android 仿人移动效果
- 小程序音频贝塞尔曲线SDK
- 易语言锁屏工具自动运行exe
- layui表单提交不需要返回值
- python分组计数
- feign 接口的返回类型
- vue 接入谷歌的人工识别
- 硬盘 ghost 之后 sql server 还能
- ssm 打war 根路径
- vant DatetimePicker如何使用
- fidder抓取抖音上关键词评论
- element 日历排班
- Vue3x 网路请求
- Windows服务器一般用什么版本2019还是2016
- phpmyadmin 导致 无法远程连接
- 微信小程序 bindscrolltolower
- mybatisplus 租户 跳过
- py循环修改图片后缀
- element Select多选 最多可选10
- 使用防火墙屏蔽UA(User Agent)网络攻击