当前位置 : 主页 > 网络安全 > 测试自动化 >

性能 – 用NaN替换选择性数字

来源:互联网 收集:自由互联 发布时间:2021-06-22
我有八列数据. Colulmns 1,3,5和7包含3位数字.列2,4,6和8包含1和0,分别对应于1,3,5和7.如果偶数列中有零,我想将相应的数字更改为NaN.更简单,如果是的话 155 1 345 0328 1 288 1884 0 145 0326 1 332 1159
我有八列数据. Colulmns 1,3,5和7包含3位数字.列2,4,6和8包含1和0,分别对应于1,3,5和7.如果偶数列中有零,我想将相应的数字更改为NaN.更简单,如果是的话

155            1           345           0
328            1           288           1
884            0           145           0
326            1           332           1
159            0           186           1

然后884将被NaN取代,159,345和145将被替换,其他数字保持不变.我需要使用NaN以矩阵形式维护数据.
我知道我可以用

data(3,1)=Nan; data(5,1)=Nan

等,但这非常耗时.任何建议都会非常受欢迎.

我会将问题分成两个矩阵,一个是逻辑掩码,另一个是数据.

data = your_mat(:,1:2:end);
valid = your_mat(:,2:2:end);

然后你可以简单地做:

data(~valid)=NaN;

然后,您可以通过执行以下操作重建数据:

your_mat(:,1:2:end) = data;
网友评论