如何使用 'sparklyr::replace.na()' 替换一列上的 NaN?

Posted

技术标签:

【中文标题】如何使用 \'sparklyr::replace.na()\' 替换一列上的 NaN?【英文标题】:How to use 'sparklyr::replace.na()' for replacing NaN on one column?如何使用 'sparklyr::replace.na()' 替换一列上的 NaN? 【发布时间】:2019-05-15 14:23:31 【问题描述】:

我正在使用 sparklyr 与 spark 进行交互。我正在尝试仅替换一列中的 NaN 值。

是否可以使用 sparklyr 函数 replace.na() 但只能将其应用于一列?我检查了文档,但没有帮助。

这个question 类似,但答案会改变整个数据帧中的所有 NaN 值。

【问题讨论】:

【参考方案1】:

看起来您在使用sparklyr::na.replace() 时实际上必须指定列。见https://github.com/rstudio/sparklyr/issues/127#issuecomment-236318033。

例子:

temp <- tibble(
  a = c(1, 2, NA),
  b = c("A", NA, "B")
)

temp_spark <- sdf_copy_to(sc, temp, "temp_spark")

temp_spark %>%
  na.replace()
#  a  | b
#  1  | A
#  2  | NA
# NaN | B

temp_spark %>%
  na.replace(a = 0)
# a | b
# 1 | A
# 2 | NA
# 0 | B

【讨论】:

以上是关于如何使用 'sparklyr::replace.na()' 替换一列上的 NaN?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用本机反应创建登录以及如何验证会话

如何在自动布局中使用约束标识符以及如何使用标识符更改约束? [迅速]

如何使用 AngularJS 的 ng-model 创建一个数组以及如何使用 jquery 提交?

如何使用laravel保存所有行数据每个行名或相等

如何使用 Math.Net 连接矩阵。如何使用 Math.Net 调用特定的行或列?

WSARecv 如何使用 lpOverlapped?如何手动发出事件信号?