fillmissing
填充缺失条目
语法
说明
使用常量值 F = fillmissing(A,'constant',v)v 填充缺失的数组或表条目。如果 A 是矩阵或多维数组,则 v 可以是标量或向量。如果 v 是向量,则每个元素指定 A 的对应列中的填充值。如果 A 是表或时间表,则 v 也可以是元胞数组,其元素包含每个表变量的填充值。
缺失值的定义取决于 A 的数据类型:
NaN-double、single、duration和calendarDurationNaT—datetime<missing>—string<undefined>—categorical{''}- 字符向量的cell
如果 A 是表,则每个变量的数据类型定义该变量的缺失值。
您可以通过将清洗缺失数据任务添加到实时脚本中,以交互方式使用 fillmissing 功能。
使用一个或多个名称-值参量指定用于填充缺失值的其他参数。例如,如果 F = fillmissing(___,Name,Value)t 是时间值向量,则 fillmissing(A,'linear','SamplePoints',t) 会基于 t 中的时间值对 A 中的数据进行插值。
示例
创建包含 NaN 值的向量,并使用前一个非缺失值替换每个 NaN。
A = [1 3 NaN 4 NaN NaN 5];
F = fillmissing(A,'previous')F = 1×7
1 3 3 4 4 4 5
创建一个 2×2 矩阵,每列有一个 NaN 值。在第一列中用 100 填充 NaN,在第二列中用 1000 填充。
A = [1 NaN; NaN 2]
A = 2×2
1 NaN
NaN 2
F = fillmissing(A,'constant',[100 1000])F = 2×2
1 1000
100 2
使用插值来替换非均匀采样的数据中的 NaN 值。
定义非均匀采样点向量,并计算这些点上的正弦函数。
x = [-4*pi:0.1:0, 0.1:0.2:4*pi]; A = sin(x);
将 NaN 值插入 A 中。
A(A < 0.75 & A > 0.5) = NaN;
使用线性插值填充缺失数据,并返回填充的向量 F 和逻辑向量 TF。TF 项中的值 1 (true) 对应于 F 中的填充值。
[F,TF] = fillmissing(A,'linear','SamplePoints',x);
绘制原始数据和填充的数据。
scatter(x,A) hold on scatter(x(TF),F(TF)) legend('Original Data','Filled Data')

使用移动中位数填充缺失的数值数据。
创建样本点向量 x 和包含缺失值的数据向量 A。
x = linspace(0,10,200); A = sin(x) + 0.5*(rand(size(x))-0.5); A([1:10 randi([1 length(x)],1,50)]) = NaN;
使用窗长度为 10 的移动中位数替换 A 中的 NaN 值,并绘制原始数据和填充的数据。
F = fillmissing(A,'movmedian',10); plot(x,F,'.-') hold on plot(x,A,'.-') legend('Original Data','Filled Data')

定义一个自定义函数,用上一个非缺失值填充 NaN 值。
定义采样点向量 t 和包含 NaN 值的对应数据向量 A。绘制数据图。
t = 10:10:100; A = [0.1 0.2 0.3 NaN NaN 0.6 0.7 NaN 0.9 1]; scatter(t,A)

使用局部函数 forwardfill(在示例末尾定义)用上一个非缺失值填充缺失空缺。函数句柄输入包括:
xs- 用于填充的数据值ts- 用于填充的值相对于采样点的位置tq- 缺失值相对于采样点的位置n- 要填充的空缺中的值的数目
n = 2;
gapwindow = [10 0];
[F,TF] = fillmissing(A,@(xs,ts,tq) forwardfill(xs,ts,tq,n),gapwindow,'SamplePoints',t);空缺窗值 [10 0] 指示 fillmissing 考虑缺失值空缺之前的一个数据点,不考虑空缺之后的任何数据点,因为上一个非缺失值位于空缺之前 10 个单位。对于第一个空缺,由 fillmissing 确定的函数句柄输入值为:
xs = 0.3ts = 30tq = [40 50]
第二个空缺的函数句柄输入值为:
xs = 0.7ts = 70tq = 80
绘制原始数据和填充的数据。
scatter(t,A)
hold on
scatter(t(TF),F(TF))
function y = forwardfill(xs,ts,tq,n) % Fill n values in the missing gap using the previous nonmissing value y = NaN(1,numel(tq)); y(1:min(numel(tq),n)) = xs; end
创建包含缺失条目的矩阵并使用线性插值填充各列(第二个维度),一次一行。对于每行,使用该行中距离最近的非缺失值填充前导和尾随缺失值。
A = [NaN NaN 5 3 NaN 5 7 NaN 9 NaN;
8 9 NaN 1 4 5 NaN 5 NaN 5;
NaN 4 9 8 7 2 4 1 1 NaN]A = 3×10
NaN NaN 5 3 NaN 5 7 NaN 9 NaN
8 9 NaN 1 4 5 NaN 5 NaN 5
NaN 4 9 8 7 2 4 1 1 NaN
F = fillmissing(A,'linear',2,'EndValues','nearest')
F = 3×10
5 5 5 3 4 5 7 8 9 9
8 9 5 1 4 5 5 5 5 5
4 4 9 8 7 2 4 1 1 1
使用不同数据类型填充表变量的缺失值。
创建表,其变量包括 categorical、double 和 char 数据类型。
A = table(categorical({'Sunny'; 'Cloudy'; ''}),[66; NaN; 54],{''; 'N'; 'Y'},[37; 39; NaN],...
'VariableNames',{'Description' 'Temperature' 'Rain' 'Humidity'})A=3×4 table
Description Temperature Rain Humidity
___________ ___________ __________ ________
Sunny 66 {0×0 char} 37
Cloudy NaN {'N' } 39
<undefined> 54 {'Y' } NaN
用上一个条目的值替换所有缺失的条目。由于 Rain 变量中不存在前一个元素,缺失的字符向量将不会被替换。
F = fillmissing(A,'previous')F=3×4 table
Description Temperature Rain Humidity
___________ ___________ __________ ________
Sunny 66 {0×0 char} 37
Cloudy 66 {'N' } 39
Cloudy 54 {'Y' } 39
将 A 中 Temperature 和 Humidity 变量的 NaN 值替换为 0。
F = fillmissing(A,'constant',0,'DataVariables',{'Temperature','Humidity'})
F=3×4 table
Description Temperature Rain Humidity
___________ ___________ __________ ________
Sunny 66 {0×0 char} 37
Cloudy 0 {'N' } 39
<undefined> 54 {'Y' } 0
或者,使用 isnumeric 函数识别要对其执行运算的数字变量。
F = fillmissing(A,'constant',0,'DataVariables',@isnumeric)
F=3×4 table
Description Temperature Rain Humidity
___________ ___________ __________ ________
Sunny 66 {0×0 char} 37
Cloudy 0 {'N' } 39
<undefined> 54 {'Y' } 0
现在,用包含在元胞数组中的指定常量来填充 A 中每个表变量的缺失值。
F = fillmissing(A,'constant',{categorical({'None'}),1000,'Unknown',1000})
F=3×4 table
Description Temperature Rain Humidity
___________ ___________ ___________ ________
Sunny 66 {'Unknown'} 37
Cloudy 1000 {'N' } 39
None 54 {'Y' } 1000
创建以秒为单位的时间向量 t 和对应的包含 NaN 值的数据向量 A。
t = seconds([2 4 8 17 98 134 256 311 1001]); A = [1 3 23 NaN NaN NaN 100 NaN 233];
仅填充 A 中与最大为 250 秒的空缺大小对应的缺失值。由于第二个空缺大于 250 秒,因此不会填充 NaN 值。
F = fillmissing(A,'linear','SamplePoints',t,'MaxGap',seconds(250))
F = 1×9
1.0000 3.0000 23.0000 25.7944 50.9435 62.1210 100.0000 NaN 233.0000
使用自定义距离函数用最近邻行中的值来填充缺失条目。
创建一个包含 NaN 值的矩阵,然后创建一个逻辑向量来指示第三行中缺失条目的位置。
A = [1 3 9 3; -5 1 7 2; -1 1 7 NaN; 12 1 9 1]; m = isnan(A(3,:));
定义两个自定义函数来测量行之间的距离。
函数 d1 通过合计每个坐标对组之间的距离来测量行之间的距离;函数 dinf 通过查找坐标对组中的最大距离来测量行之间的距离。
d1 = @(x,~) sum(abs(diff(x)),'omitnan'); dinf = @(x,isNaN) norm(diff(x(:,~isNaN(1,:))),'inf');
计算第三行和其他三行中每行之间的 d1 测量距离。第二行距离最近。
d1s = arrayfun(@(r) d1(A([r 3],:),m), setdiff(1:4,3))
d1s = 1×3
6 4 15
fillmissing 函数将第三行中的 NaN 替换为第二行中对应的 2。
F1 = fillmissing(A,'knn','Distance',d1)
F1 = 4×4
1 3 9 3
-5 1 7 2
-1 1 7 2
12 1 9 1
使用 dinf 测量距离的类似分析发现第一行与第三行距离最近。现在 fillmissing 函数将第三行中的 NaN 替换为第一行中对应的 3。
dinfs = arrayfun(@(r) dinf(A([r 3],:),m), setdiff(1:4,3))
dinfs = 1×3
2 4 13
Finf = fillmissing(A,'knn','Distance',dinf)
Finf = 4×4
1 3 9 3
-5 1 7 2
-1 1 7 3
12 1 9 1
自 R2024a 起
创建一个表并填充定义为 -99 的缺失条目。创建一个逻辑变量表 loc,该表指示要填充的缺失条目的位置。然后,使用 MissingLocations 名称-值参量指定 fillmissing 的已知缺失条目位置。
A = [1; 4; 9; -99; 3]; B = [9; 0; 6; 2; 1]; C = [-99; 4; 2; 3; 8]; T = table(A,B,C)
T=5×3 table
A B C
___ _ ___
1 9 -99
4 0 4
9 6 2
-99 2 3
3 1 8
loc = T==-99
loc=5×3 table
A B C
_____ _____ _____
false false true
false false false
false false false
true false false
false false false
T = fillmissing(T,"next",MissingLocations=loc)T=5×3 table
A B C
_ _ _
1 9 4
4 0 4
9 6 2
3 2 3
3 1 8
输入参数
输入数据,指定为向量、矩阵、多维数组、字符向量元胞数组、表或时间表。
如果
A为时间表,则仅填充表值。如果关联的行时间向量包含NaT或NaN值,则fillmissing会产生错误。行时间必须是唯一的并按升序列出。如果
A是元胞数组或包含元胞数组变量的表,则fillmissing仅在元胞数组包含字符向量时填充缺失元素。
填充常量,指定为标量、向量或元胞数组。
如果
A是矩阵或多维数组,则v可以是向量,表示每个运算维度的一个不同填充值。v的长度必须与运算维度的长度相匹配。如果
A是表或时间表,则v可以是填充值的元胞数组,表示每个变量的一个不同填充值。元胞数组中的元素数必须与表中的变量数目相匹配。
填充方法,指定为下列值之一:
| 方法 | 描述 |
|---|---|
'previous' | 上一个非缺失值 |
'next' | 下一个非缺失值 |
'nearest' | 由 x 轴定义的最接近的非缺失值 |
'linear' | 相邻非缺失值的线性插值(仅限数值、duration 和 datetime 数据类型) |
'spline' | 分段三次样条插值(仅限数值、duration 和 datetime 数据类型) |
'pchip' | 保形分段三次样条插值(仅限数值、duration 和 datetime 数据类型) |
'makima' | 修正 Akima 三次 Hermite 插值(仅限数值、duration 和 datetime 数据类型) |
使用 movmethod 通过移动平均值或中位数填充缺失条目。
使用 fillfun 通过自定义方法填充缺失条目。
填充缺失数据的移窗方法,指定为下列值之一:
| 方法 | 描述 |
|---|---|
'movmean' | 窗长度为 window 的移动均值(仅限数值数据类型) |
'movmedian' | 窗长度为 window 的移动中位数(仅限数值数据类型) |
移窗方法的窗长度,指定为正整数标量、由正整数组成的二元素向量、正持续时间标量或由正持续时间组成的二元素向量。窗是相对于采样点定义的。
如果 window 是正整数标量,则窗以当前元素为中心并且包含 window-1 个相邻元素。如果 window 是偶数,则窗口以当前元素和上一个元素为中心。
如果 window 是由正整数组成的二元素向量 [b f],则窗口包含当前元素、其之前的 b 个元素和之后的 f 个元素。
如果 A 是时间表或 SamplePoints 指定为 datetime 或 duration 向量,则窗口必须为 duration 类型。
用 'knn' 方法计算平均值的最近邻的数量,指定为正整数标量。
示例: @(xs,ts,tq) myfun(xs,ts,tq)
自定义填充方法,指定为函数句柄。有效的函数句柄必须包括以下三个输入参量:
| 输入参量 | 描述 |
|---|---|
xs | 包含用于填充的数据值的向量。xs 的长度必须与指定窗的长度匹配。 |
ts | 包含用于填充的值的位置的向量。ts 的长度必须与指定窗的长度匹配。ts 是采样点向量的子集。 |
tq | 包含缺失值位置的向量。tq 是采样点向量的子集。 |
该函数必须返回标量或与 tq 长度相同的向量。
自定义填充函数的空缺窗长度,指定为正整数标量、由正整数组成的二元素向量、正持续时间标量或由正持续时间组成的二元素向量。空缺窗是相对于采样点定义的。
为填充方法指定函数句柄 fillfun 时,gapwindow 的值表示围绕输入数据中缺失值的每个空缺的固定窗长度。然后由 fillfun 使用该窗中的值计算填充值。例如,对于默认采样点 t = 1:10 和数据 A = [10 20 NaN NaN 50 60 70 NaN 90 100],窗口长度 gapwindow = 3 将第一个空缺窗指定为 [20 NaN NaN 50],fillfun 对其进行运算以计算填充值。fillfun 进行运算的第二个空缺窗是 [70 NaN 90]。
当 A 是时间表或 SamplePoints 指定为 datetime 或 duration 向量时,gapwindow 必须为 duration 类型。
运算维度,指定为正整数标量。如果未指定值,则默认值是大小不等于 1 的第一个数组维度。
以一个 m×n 输入矩阵 A 为例:
fillmissing(A,method,1)根据A的每列中的数据填充缺失值,并返回一个m×n矩阵。
fillmissing(A,method,2)根据A的每行中的数据填充缺失值,并返回一个m×n矩阵。
对于表或时间表输入数据,不支持 dim,并且分别对每个表或时间表变量进行运算。
名称-值参数
以 Name1=Value1,...,NameN=ValueN 的形式指定可选参量对组,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。
示例: fillmissing(T,method,SamplePoints="Var1")
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。
示例: fillmissing(T,method,"SamplePoints","Var1")
数据选项
采样点,指定为由采样点值组成的向量或下表中的选项之一(当输入数据为表时)。样本点代表数据的 x 轴位置,必须为有序且包含唯一的元素。样本点不需要均匀采样。向量 [1 2 3 ...] 是默认值。
当输入数据是表时,可以使用以下选项之一将采样点指定为表变量:
| 索引方案 | 示例 |
|---|---|
变量名称:
|
|
变量索引:
|
|
函数句柄:
|
|
变量类型:
|
|
注意
当输入数据为 timetable 时,不支持此名称-值参量。时间表使用行时间向量作为采样点。要使用不同采样点,您必须编辑时间表,以便行时间包含所需的采样点。
移动窗基于样本点进行定义。例如,如果 t 是与输入数据对应的时间向量,则 fillmissing(rand(1,10),'movmean',3,'SamplePoints',t) 将有一个代表 t(i)-1.5 和 t(i)+1.5 之间时间间隔的窗。
当样本点向量的数据类型为 datetime 或 duration 时,移动窗长度的类型必须为 duration。
示例: fillmissing([1 NaN 3 4],'linear','SamplePoints',[1 2.5 3 4])
示例: fillmissing(T,'linear','SamplePoints',"Var1")
数据类型: single | double | datetime | duration
要对其进行操作的表变量,指定为下表中的选项之一。DataVariables 值指示要填充输入表的哪些变量。
表中未由 DataVariables 指定的其他变量会传递给输出,而不会对其进行填充。
| 索引方案 | 要指定的值 | 示例 |
|---|---|---|
变量名称 |
|
|
变量索引 |
|
|
函数句柄 |
|
|
变量类型: |
|
|
示例: fillmissing(T,'linear','DataVariables',["Var1" "Var2" "Var4"])
替换值指示符,当 A 是表或时间表时,指定为以下值之一:
true或1- 用填充的表变量替换包含缺失条目的输入表变量。false或0- 向输入表追加已检查缺失条目的所有表变量。追加变量中已填充了缺失条目。
对于向量、矩阵或多维数组输入数据,不支持 ReplaceValues。
示例: fillmissing(T,'previous','ReplaceValues',false)
缺失值选项
用于处理端点的方法,指定为 'extrap'、'previous'、'next'、'nearest'、'none' 或常量标量值。端点填充方法根据以下定义处理前导和尾随缺失值:
| 方法 | 描述 |
|---|---|
'extrap' | 与 method 相同 |
'previous' | 上一个非缺失值 |
'next' | 下一个非缺失值 |
'nearest' | 距离最近的非缺失值 |
'none' | 无填充值 |
| 标量 | 常量值(仅限数值、duration 和 datetime 数据类型) |
已知缺失条目指示符,指定为逻辑向量、矩阵或多维数组,或具有逻辑变量的表或时间表 (自 R2024a 起)。
如果 MissingLocations 是数组,其大小必须与 A 相同。如果 MissingLocations 是表或时间表,它必须包含与要对其进行操作的输入表变量的大小和名称相同的逻辑变量。
值为 1 (true) 的元素表示 A 中缺失条目的位置。值为 0 (false) 的元素表示非缺失条目。
数据类型: logical | table | timetable
要填充的最大空缺大小,指定为数值标量、duration 标量或 calendarDuration 标量。空缺是指一系列连续缺失值,其大小是空缺前后的非缺失值之间的距离。空缺大小是相对于采样点计算得出的。小于或等于最大空缺大小的空缺将被填充,而大于空缺大小的空缺则不会被填充。
例如,假设有使用默认采样点 [1 2 3 4] 的向量 y = [25 NaN NaN 100]。该向量中的空缺大小是基于采样点进行计算的,即 4 - 1 = 3,因此 MaxGap 值为 2 时会保持缺失值不变,而 MaxGap 值为 3 时会填充缺失值。
对于位于数据开头或结尾的缺失值:
输入数据的开头或末尾的单个缺失值的空缺大小为 0,且始终会被填充。
出现在输入数据开头或结尾的缺失值簇并不完全由非缺失值包围,因此会使用最接近的现有采样点来计算空缺大小。对于默认采样点
1:N,此时产生的空缺大小比相同的簇出现在数据中间时小 1。
查找最近邻行时使用的距离函数,指定为 'euclidean'(欧几里德距离)、'seuclidean'(缩放欧几里德距离)或距离函数的函数句柄。
如果为距离函数指定函数句柄,该函数必须满足以下条件:
该函数必须接受两个输入。
函数的第一个输入必须为一个包含两行的矩阵、表或时间表,其中包含两个要比较的向量。
函数的第二个输入必须为逻辑矩阵,表示向量中缺失值的位置。您可以通过将第二个输入指定为
~来忽略它。该函数必须以
double类型的实数标量值形式返回距离。
示例: fillmissing(A,'knn','Distance',@(x,~) sum(abs(diff(x)),'omitmissing'))
输出参量
填充的数据,以向量、矩阵、多维数组、表或时间表形式返回。
除非 ReplaceValues 的值为 false,否则 F 与 A 的大小相同。如果 ReplaceValues 的值是 false,则 F 的宽度是输入数据宽度和指定的数据变量数目之和。
填充的数据指示符,以向量、矩阵或多维数组形式返回。TF 是逻辑数组,其中 1 (true) 对应于 F 中以前缺失但已填充的条目,0 (false) 对应于未更改的条目。
TF 的大小与 F 相同。
数据类型: logical
提示
对于非字符向量的结构体数组或元胞数组的输入数据,
fillmissing不填充任何条目。要填充结构体数组中缺失的条目,请使用structfun函数将fillmissing应用于结构体中的每个字段。要填充非字符向量元胞数组中缺失的条目,请使用cellfun函数将fillmissing应用于元胞数组中的每个元胞。
替代功能
扩展功能
fillmissing 函数支持 tall 数组,但存在以下使用说明和限制:
不支持
'spline'和'makima'方法。不支持函数句柄填充方法。
不支持
'knn'填充方法和Distance名称-值参量。不支持
MaxGap、SamplePoints和MissingLocations名称-值参量。DataVariables名称-值参量无法指定函数句柄。EndValues名称-值参量只能指定'extrap'。MissingLocations名称-值参量无法指定表或时间表。当
A是 tall 时间表时,不支持语法fillmissing(A,movmethod,window)。语法
fillmissing(A,'constant',v)必须为v指定标量值。当
A是 tall 表或 tall 时间表时,语法fillmissing(A,___)不支持字符向量变量。
有关详细信息,请参阅tall 数组。
用法说明和限制:
不支持
MaxGap名称-值参量。当输入数据的类型为
datetime或duration时,'constant'是唯一受支持的方法。当
SamplePoints值的类型为datetime或输入数据是具有datetime行时间的时间表时,仅支持'constant'、'movmean'和'movmedian'方法。不支持
fillmethod参量的函数句柄输入。不支持
Distance名称-值参量。MissingLocations名称-值参量无法指定表或时间表。对于分类输入数据,填充常量必须与数据中的类别之一对应。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
用法说明和限制:
不支持
'pchip'填充方法。移动窗填充方法
'movmean'和'movmedian'不支持SamplePoints名称-值参量。不支持
'knn'填充方法和Distance名称-值参量。MissingLocations名称-值参量无法指定表或时间表。
有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
用法说明和限制:
不支持
'knn'填充方法和Distance名称-值参量。MissingLocations名称-值参量无法指定表或时间表。
有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2016b 中推出fillmissing 函数改进了当您将数值数据的填充方法指定为 "linear" 时的性能。
例如,以下代码使用线性插值替换一个包含 1000 个元素的数值向量中的 NaN 值。代码执行速度比上一版本大约快 2.2 倍。
function timingTest A = rand(1000,1); idx = randperm(1000,50); A(idx) = NaN; for i = 1:2e4 F = fillmissing(A,"linear"); end end
大致的执行时间是:
R2024b:0.84 秒
R2025a:0.38 秒
此代码是在运行 Windows® 11 的 AMD EPYC 74F3 24 核处理器 @ 3.19 GHz 测试系统上使用 timeit 函数计时的。
timeit(@timingTest)
填充方法现在支持将 "makima" 作为输入值来进行 C/C++ 代码生成。
"knn" 方法改进了在使用欧几里德或缩放欧几里德距离函数时处理数值数据的性能。当输入数据沿运算维度的长度比较小时,这种改进最为显著。
例如,以下代码用最近邻行中对应值的均值填充 800×10 矩阵中的 NaN 值。其执行速度比上一版本大约快 2.8 倍。
function timingTest A = rand(800,10); A(A>0.95) = NaN; for i = 1:1:2e2 F = fillmissing(A,"knn"); end end
大致的执行时间是:
R2024a:1.00 秒
R2024b:0.36 秒
此代码是在运行 Windows 11 的 AMD EPYC™ 74F3 24 核处理器 @ 3.19 GHz 测试系统上使用 timeit 函数计时的。
timeit(@timingTest)
通过将 MissingLocations 名称-值参量指定为包含输入表中具有名称的逻辑变量的表,定义缺失条目的位置。以前,您只能将 MissingLocations 指定为向量、矩阵或多维数组。
使用 'knn' 方法用最近邻行中的对应值填充缺失条目。您可以选择指定 k 值,用 k 个最接近的行中对应值的均值来填充缺失的条目。
您还可以使用 Distance 名称-值参量来指定自定义函数,用于测量行之间的距离。
字符数组没有标准缺失值的默认定义。因此,fillmissing 将空白字符数组元素 (' ') 视为非缺失值。例如,fillmissing(['a'; ' '],'previous') 返回 ['a'; ' ']。以前,它返回 ['a'; 'a']。
要将空白字符数组元素视为缺失,请使用 MissingLocations 名称-值参量。例如,使用 TF = ismissing(['a'; ' '],' ') 查找空白字符数组元素,然后指定一个已知的缺失值指示符,如 F = fillmissing(['a'; ' '],'previous',MissingLocations=TF) 中所示。
对于表或时间表输入数据,在输入表中追加所有已检查过缺失条目的表变量。追加变量中已填充了缺失条目。通过将 ReplaceValues 名称-值参量设置为 false,即可追加而不是替换表变量。
对于表输入数据,可以使用 SamplePoints 名称-值参量将采样点指定为表变量。
通过将 fillfun 指定为函数句柄,使用自定义方法填充缺失值。
另请参阅
函数
fillmissing2|ismissing|standardizeMissing|anymissing|rmmissing|filloutliers|isnan|missing|isnat|smoothdata
实时编辑器任务
App
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
