【问题标题】:Dataframe has an empty cell, how to replace with 0?Dataframe有一个空单元格,如何用0替换?
【发布时间】:2020-04-27 20:05:57
【问题描述】:

我有一个来自 excel CSV 文件的数据框。由于我构建源文件的方式,某些列会出现空白(即我没有在 excel 的那个单元格中放置任何内容)。在处理数据之前,我需要将这些单元格设置为 0。

我使用 fread 读取数据。

有些单元格的值是 N/A,很容易替换。然而,有些在 View(theDataFrame) 中显示“空白”并且没有被 replace_na 捕获。我不知道这些单元格中有什么,所以我可以定位它们并用 0 替换。

我尝试了paste("*", theDataFrame[1, "Current Price"], "*"),它打印了一个星号、两个空格和另一个星号。所以,我尝试了gsub("/s/s", "0", theDataFrame$`Current Price`),但没有奏效。

is.empty(theDataFrame[1, "Current Price"])FALSE 所以,它不是空的。我怎样才能弄清楚fread 放在那里的东西,以便我可以替换它?

谢谢!

【问题讨论】:

  • 为了清楚起见,通常不是fread 放在那里的东西,而是 Excel 放在那里的东西,导致模棱两可或明显的东西(你没想到)。
  • @akrun,想解释一下为什么你回滚了我的编辑?
  • @r2evans 我认为 OP 的帖子使用的是paste("" 而不是paste("*"。当你编辑时,我发现它是paste("*"。不确定这是否是 OP 的意图
  • 为了查看未编辑的问题显示的内容,您只需查看编辑历史记录,您不必更改它,但是你已经知道了。
  • @r2evans 是的,我确实检查过,但不清楚。无论如何,回滚到您的编辑

标签: r


【解决方案1】:

我们可以使用

theDataFrame[theDataFrame == ''] <- 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    • 2021-09-12
    • 2018-02-09
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多