如何更新Deedle框架中的所有值?

时间:2018-03-12 12:50:29

标签: c# deedle

我想替换deedle Frame / Series中的所有值; 例如,我想将所有-1替换为0。

我找不到办法去做。在F#中,似乎有一个mapValue函数,但在C#中找不到相应的函数

2 个答案:

答案 0 :(得分:2)

在整个Select类型上还有一个Frame<R, C>方法,所以你应该可以写这样的东西(虽然我没有测试过):

var res = df.Select((int row, string col, double v) => v == -1 ? 0 : v);

答案 1 :(得分:0)

没关系,发现了一个完成这项工作的片段:

 void cleanupDF(Frame<int, string> df) {
    foreach(string c in new string[] {"col1","col2" }) {
        var relabeled = df.Columns[c].Select(kvp => ((int)kvp.Value ==- 1 ? 0 : (int)kvp.Value));
        df.ReplaceColumn(c, relabeled);
    }
}