【发布时间】:2019-08-18 18:09:05
【问题描述】:
我正在尝试在 Deedle C# 数据框中转发填充值,就像在 python 中使用 pandas.ffill() 函数一样。 pandas 中的前向填充允许在行索引和列索引处前向填充。我想在 Deedle 中做同样的事情,在同一行但从不同的列中获取最近的非缺失值,因此跨行,这在 python 和 pandas 中非常简单。我是 C# 和 Deedle 库的新手,我在文档中只能找到如何在一个系列中转发填充值而不是跨数据框。非常感谢任何帮助,我是新手,我似乎无法在任何地方找到该库的任何实质性示例。
这是我的数据框的一个示例,我正在尝试跨行转发填充值。因此,col3 中缺失值的填充值将成为 col2 等同一行中的最后一个值。
-------- rawDF ------
col1 col2 col3
AAA BBB
CCC DDD EEE
FFF
BBB AAA
DDD CCC
EEE FFF
AAA
BBB CCC
AAA
FFF AAA
DDD
Deedle 文档中为 C# 和 F# 提供的示例仅填充系列中的值,如图所示。如果我尝试 FillMissing();在整个数据框中,我什么都没有返回。
//Fill with previous available value in the series
var fillFwd = col2.FillMissing(Direction.Forward);
fillFwd.Print();
//Fill with the next available value
var fillBwd = col2.FillMissing(Direction.Backward);
fillBwd.Print()
---- nothing happens with the following ----
//forward fill all values in the DF
rawDF.FillMissing(Direction.Forward);
rawDF.Print();
//backward fill all values in the DF
//fill values in the DF with a constant value
rawDF.FillMissing(0);
rawDF.Print();
【问题讨论】:
标签: c# dataframe missing-data deedle