如何确定data.table的每一列中包含空字符串(“”)的行数?

扬德尔

我有一个包含几百万行的大型 data.table。我已将所有列转换为因子并将所有 NA 替换为空字符串 ("")。我想确定每列中空字符串的数量,理想情况下以内存有效的方式。

arg0naut91

没有包的解决方案是:

apply(df, 2, function(x) sum(x == ""))

但是,这可能会很慢,您可以利用一些库。

例如,这就是dplyr解决方案的样子:

library(dplyr)

df %>%
  summarise_all(funs(sum(. == "")))

但是,如果您正在处理大型数据帧,您可能会从更快的速度中受益data.table

library(data.table)

setDT(df)[, lapply(.SD, function(x) sum(x == ""))]

但我们不要忘记,也可以有一个更精简和更快的tidyverse解决方案(与 相比dplyr):

library(purrr)

map_int(df, function(x) sum(x == ""))

谁是这里的赢家?

我在一个有 400 000 行和 26 列的表上做了一个快速基准测试,data.table平均来说似乎是最快的(单位是毫秒):

      expr       min        lq      mean    median        uq       max neval
     purrr  56.80567  58.76752  71.99501  64.61143  78.72492  199.9948   100
     dplyr  70.65627  73.17036  85.56228  79.73072  93.51717  194.7238   100
      base 689.97336 771.03395 830.39465 794.20452 881.38988 1116.8218   100
 datatable  57.83673  60.17200  70.97264  64.60314  78.89446  165.2100   100

然而,purrr并没有真正落后,以不同的方式它也可以超越DT如果您已经在使用其中一种,那么坚持下去就可以了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何确定一列中的字符串是否在另一列中?

来自分类Dev

如果一列的字符串包含熊猫数据框中另一列的单词,如何删除整行

来自分类Dev

在R data.table中,添加一列,该列的名称基于字符串

来自分类Dev

如何在基于另一列中的字符串的R中的data.table中添加列?

来自分类Dev

如何设置一列不能为空字符串?拉拉韦尔

来自分类Dev

如何在包含特定字符串的最后一列之后添加一列?

来自分类Dev

如何从R中另一列的子字符串中创建一列?

来自分类Dev

如何用另一列中的字符串替换一列中的值?

来自分类Dev

如何用文件的一列中的一列替换复杂的字符串?

来自分类Dev

Excel:如何从另一列中的一列搜索子字符串

来自分类Dev

如果另一列包含特定字符串,Python Pandas如何更新列

来自分类Dev

Power BI如何根据一列是否包含其他列的字符串求和

来自分类Dev

检查字符串是否出现在data.table的任何列(第一列除外)中

来自分类Dev

Excel-如何计算包含某些字符串的范围(即,各列)中的行数?

来自分类Dev

在另一列包含指定字符串的情况下如何设置NA?

来自分类Dev

R:将一列中的一部分字符串替换为data.table中另一列中的字符串

来自分类Dev

如何确定字符串在Swift中仅包含数字?

来自分类Dev

如何用同一列中的其他字符串替换列中的字符串

来自分类Dev

如何在数据框python3的每一列中将字符串映射到数字ID

来自分类Dev

如何基于另一列中的索引来操作一列中的子字符串

来自分类Dev

如何在 Spark Dataframe 上的字符串中添加一列字符的索引?

来自分类Dev

如何在SQL字符串中创建一个空字符串文字

来自分类Dev

如何在基于另一列的一列中突出显示顺序字符串

来自分类Dev

如何在基于另一列的一列中突出显示顺序字符串

来自分类Dev

如何确定字典中是否存在非空字符串?

来自分类Dev

将包含空字符串的列合并为python pandas中的一列

来自分类Dev

如何检查和删除R中另一列中的字符串是否匹配

来自分类Dev

如何在每一行数据帧上替换字符串的特定部分?

来自分类Dev

如何计算满足R中特定条件的每一列的行数

Related 相关文章

  1. 1

    如何确定一列中的字符串是否在另一列中?

  2. 2

    如果一列的字符串包含熊猫数据框中另一列的单词,如何删除整行

  3. 3

    在R data.table中,添加一列,该列的名称基于字符串

  4. 4

    如何在基于另一列中的字符串的R中的data.table中添加列?

  5. 5

    如何设置一列不能为空字符串?拉拉韦尔

  6. 6

    如何在包含特定字符串的最后一列之后添加一列?

  7. 7

    如何从R中另一列的子字符串中创建一列?

  8. 8

    如何用另一列中的字符串替换一列中的值?

  9. 9

    如何用文件的一列中的一列替换复杂的字符串?

  10. 10

    Excel:如何从另一列中的一列搜索子字符串

  11. 11

    如果另一列包含特定字符串,Python Pandas如何更新列

  12. 12

    Power BI如何根据一列是否包含其他列的字符串求和

  13. 13

    检查字符串是否出现在data.table的任何列(第一列除外)中

  14. 14

    Excel-如何计算包含某些字符串的范围(即,各列)中的行数?

  15. 15

    在另一列包含指定字符串的情况下如何设置NA?

  16. 16

    R:将一列中的一部分字符串替换为data.table中另一列中的字符串

  17. 17

    如何确定字符串在Swift中仅包含数字?

  18. 18

    如何用同一列中的其他字符串替换列中的字符串

  19. 19

    如何在数据框python3的每一列中将字符串映射到数字ID

  20. 20

    如何基于另一列中的索引来操作一列中的子字符串

  21. 21

    如何在 Spark Dataframe 上的字符串中添加一列字符的索引?

  22. 22

    如何在SQL字符串中创建一个空字符串文字

  23. 23

    如何在基于另一列的一列中突出显示顺序字符串

  24. 24

    如何在基于另一列的一列中突出显示顺序字符串

  25. 25

    如何确定字典中是否存在非空字符串?

  26. 26

    将包含空字符串的列合并为python pandas中的一列

  27. 27

    如何检查和删除R中另一列中的字符串是否匹配

  28. 28

    如何在每一行数据帧上替换字符串的特定部分?

  29. 29

    如何计算满足R中特定条件的每一列的行数

热门标签

归档