以完全矢量化的方式用前一个元素按行或按列替换矩阵中的零(或NAN)

奥尔多

我需要按行将前一个元素替换为矩阵中的零(或NaN),所以基本上我需要这个Matrix X

[0,1,2,2,1,0;  
5,6,3,0,0,2;  
0,0,1,1,0,1]  

要变成这样:

[0,1,2,2,1,1;  
5,6,3,3,3,2;  
0,0,1,1,1,1],  

请注意,如果第一行元素为零,它将保持原样。

我知道这已经以向量化的方式解决了单个行或列向量的问题,这是这样做的最好方法之一:

id = find(X);         
X(id(2:end)) = diff(X(id));       
Y = cumsum(X)  

问题在于,矩阵在Matlab / Octave中的索引是连续的,并且逐列递增,因此它适用于单行或单列,但是不能应用相同的精确概念,而是需要对多行进行修改,因为每个原始/列重新开始,必须被视为独立的。我已经尽力了,并用谷歌搜索了整个谷歌,但没有找到出路。如果我在循环中应用相同的想法,它将变得太慢,因为我的矩阵至少包含3000行。有人可以帮我吗?

查尔斯

Eitan答案的修改版本,以避免在行之间传播值:

Y = X'; %'
tf = Y > 0;
tf(1,:) = true;
idx = find(tf);
Y(idx(2:end)) = diff(Y(idx));
Y = reshape(cumsum(Y(:)),fliplr(size(X)))';

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从矩阵中每一行的矢量化和与另一个矩阵获得矩阵

来自分类Dev

在熊猫中按列内容标记日期(矢量化)

来自分类Dev

在熊猫中按列内容标记日期(矢量化)

来自分类Dev

在MATLAB中的一个命令中选择子矩阵并矢量化

来自分类Dev

以矢量化方式更新 oracle 中的列

来自分类Dev

按顺序用另一个文件中的行替换与模式匹配的行

来自分类Dev

如何根据另一个数据帧中的行条件对一个数据帧的行索引进行矢量化查找

来自分类Dev

用于将列表从一个Dataframe行映射到另一Dataframe行的矢量化方法

来自分类Dev

如何从numpy矩阵中随机选择项目(以矢量化方式)?

来自分类Dev

在大熊猫数据框中对代码进行矢量化处理,其中每一行都应视为一个numpy数组

来自分类Dev

按列索引修改numpy数组的每一行中的一个元素

来自分类Dev

相关矩阵和p值按列和行组合在一个矩阵中

来自分类Dev

Pandas - 按用户计算矢量化系列交易活动

来自分类Dev

在2个Pandas数据框列之间进行矢量化/矩阵计算

来自分类Dev

在scikit dict矢量化器中按功能名称提取功能

来自分类Dev

如何使用NumPy以矢量化方式按2D数组缩放一组2D数组(3D数组)?

来自分类Dev

从另一个Multiindexed数据框的索引填充数据框列的矢量化方法?

来自分类Dev

用矢量化函数替换慢熊猫循环

来自分类Dev

使用numpy vectorize在2D数组中仅在一个轴上进行矢量化

来自分类Dev

在Theano中循环(或矢量化)可变长度矩阵

来自分类Dev

matlab:一个棘手的矢量化,函数带有2个嵌套循环

来自分类Dev

使用R中的矢量化代码在多列之间比较和替换值

来自分类Dev

用数组中的下一个非零元素替换0

来自分类Dev

用另一个数组的元素替换数组中的所有零

来自分类Dev

更改在熊猫中矢量化的这一行和上一行

来自分类Dev

查找矩阵的第一个非零列(向量化版本)

来自分类Dev

用另一个矩阵对矩阵中的行元素进行排序

来自分类Dev

顺序/递归地将矩阵中列的第一个数字元素替换为零,直到all = 0

来自分类Dev

为什么不按以下方式打印关联数组中的最后一个元素(按表索引)?

Related 相关文章

  1. 1

    如何从矩阵中每一行的矢量化和与另一个矩阵获得矩阵

  2. 2

    在熊猫中按列内容标记日期(矢量化)

  3. 3

    在熊猫中按列内容标记日期(矢量化)

  4. 4

    在MATLAB中的一个命令中选择子矩阵并矢量化

  5. 5

    以矢量化方式更新 oracle 中的列

  6. 6

    按顺序用另一个文件中的行替换与模式匹配的行

  7. 7

    如何根据另一个数据帧中的行条件对一个数据帧的行索引进行矢量化查找

  8. 8

    用于将列表从一个Dataframe行映射到另一Dataframe行的矢量化方法

  9. 9

    如何从numpy矩阵中随机选择项目(以矢量化方式)?

  10. 10

    在大熊猫数据框中对代码进行矢量化处理,其中每一行都应视为一个numpy数组

  11. 11

    按列索引修改numpy数组的每一行中的一个元素

  12. 12

    相关矩阵和p值按列和行组合在一个矩阵中

  13. 13

    Pandas - 按用户计算矢量化系列交易活动

  14. 14

    在2个Pandas数据框列之间进行矢量化/矩阵计算

  15. 15

    在scikit dict矢量化器中按功能名称提取功能

  16. 16

    如何使用NumPy以矢量化方式按2D数组缩放一组2D数组(3D数组)?

  17. 17

    从另一个Multiindexed数据框的索引填充数据框列的矢量化方法?

  18. 18

    用矢量化函数替换慢熊猫循环

  19. 19

    使用numpy vectorize在2D数组中仅在一个轴上进行矢量化

  20. 20

    在Theano中循环(或矢量化)可变长度矩阵

  21. 21

    matlab:一个棘手的矢量化,函数带有2个嵌套循环

  22. 22

    使用R中的矢量化代码在多列之间比较和替换值

  23. 23

    用数组中的下一个非零元素替换0

  24. 24

    用另一个数组的元素替换数组中的所有零

  25. 25

    更改在熊猫中矢量化的这一行和上一行

  26. 26

    查找矩阵的第一个非零列(向量化版本)

  27. 27

    用另一个矩阵对矩阵中的行元素进行排序

  28. 28

    顺序/递归地将矩阵中列的第一个数字元素替换为零,直到all = 0

  29. 29

    为什么不按以下方式打印关联数组中的最后一个元素(按表索引)?

热门标签

归档