表中查找和替换一个特定值

143(30天)
你好,我有一个表超过15000行和100列。我想阴谋列中的值但我需要把其中的一些是南设置为-9999。还有-9999我所有的列(列命名)/
我想用这样的:
表(表= = -9999)= NaN
但是我知道我不能使用比较器整个表所以我必须添加索引:
表(表(:,)= = -9999)= NaN
但它还是不工作。
有一个索引,所有列?或者另一种解决方案更简单吗?
谢谢你!

接受的答案

图像分析
图像分析 2022年4月21日
编辑:图像分析 2022年4月21日
你忘了附上你的所以我不得不创建一个表。
%创建表数据因为OP忘了他。
v1 =兰德(100 1);
v2 =兰德(100 1);
v1 (1:10) = -9999;
v1 (end-4:结束)= -9999;
v2 (1:15) = -9999;
v2 (end-14:结束)= -9999;
t =表(v1、v2,“VariableNames”,{“Column1”,“Column2”})
使用table2array() %方法1:
variableNames = t.Properties.VariableNames;
m = table2array (t);
米(m = = -9999) =南;
tFixed =表(m (: 1), m (:, 2),“VariableNames”,{“Column1”,“Column2”});
%方法2:使用FOR循环
%现在我们有我们的表,我们就可以开始取代-9999年南。
坳= 1:宽度(t)
map9999 = t{:,坳}= = -9999;
t {map9999,坳}=南;
结束

更多的答案(2)

哈斯Bhutiya
哈斯Bhutiya 2023年3月30日
您可以使用 standardizeMissing 来做到这一点。
t =表([1;-9999;3),-9999;南;4,(NaN; 4; 5))
t =3×3表
Var1 Var2 Var3 _____ _____ ____1 -9999 -9999年南南4 3 4 5
t = standardizeMissing (t, -9999)
t =3×3表
Var1 Var2 Var3 ____ ____ ____1南南南南4 3 4 5

大卫•希尔
大卫•希尔 2022年4月21日
m = table2array (yourTable);%如果你的表是相同类型的所有数字
米(m = = -9999) =南;
%就从矩阵的阴谋

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!