Julia:在数据帧内将缺失转换为0

时间:2018-04-06 12:30:06

标签: julia

在R中,我们可以使用以下符号将NA转换为0

df[is.na(df)] <- 0

这适用于单列:

df[ismissing.(df[:col]), :col] = 0

有完整的df方法吗?

2 个答案:

答案 0 :(得分:3)

我还没有想到DataFrames.jl中有这样的功能。 但是,您可以通过合并colwiserecode来解决问题。我还在这里提供了一个可重复的例子,以防有人想要回答这个答案:

julia> using DataFrames

julia> df = DataFrame(a = [missing, 5, 5],
           b = [1, missing, missing])
3×2 DataFrames.DataFrame
│ Row │ a       │ b       │
├─────┼─────────┼─────────┤
│ 1   │ missing │ 1       │
│ 2   │ 5       │ missing │
│ 3   │ 5       │ missing │

julia> DataFrame(colwise(col -> recode(col, missing=>0), df), names(df))
3×2 DataFrames.DataFrame
│ Row │ a │ b │
├─────┼───┼───┤
│ 1   │ 0 │ 1 │
│ 2   │ 5 │ 0 │
│ 3   │ 5 │ 0 │

这有点难看,因为你必须重新分配数据帧列名。

答案 1 :(得分:1)

也许更简单的方法来转换DataFrame中的所有缺失值只是使用列表理解:

private TextView.OnEditorActionListener inputListener = new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { switch (actionId) { case EditorInfo.IME_ACTION_NEXT: Toast.makeText(MainActivity.this, "Next", Toast.LENGTH_SHORT).show(); break; case EditorInfo.IME_ACTION_DONE: Toast.makeText(MainActivity.this, "Done", Toast.LENGTH_SHORT).show(); break; } return false; } };