gpt4 book ai didi

performance - 用 NaN 替换选择性数字

转载 作者:太空宇宙 更新时间:2023-11-03 19:51:26 25 4
gpt4 key购买 nike

我有八列数据。第 1、3、5 和 7 列包含 3 位数字。第 2、4、6 和 8 列包含 1 和零,分别对应于 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

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

最佳答案

方法一

a1 = [
155 1 345 0
328 1 288 1
884 0 145 0
326 1 332 1
159 0 186 1]

t1 = a1(:,[2:2:end])
data1 = a1(:,[1:2:end])

t1(t1==0)=NaN
t1(t1==1)=data1(t1==1)

a1(:,[1:2:end]) = t1

输出-

a1 =

155 1 NaN 0
328 1 288 1
NaN 0 NaN 0
326 1 332 1
NaN 0 186 1

方法二

[x1,y1] = find(~a1(:,[2:2:end]))
a1(sub2ind(size(a1),x1,2*y1-1)) = NaN

关于performance - 用 NaN 替换选择性数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23390075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com