我正在尝试对数据框中的一列执行字符串操作Test_df
。这个数据框有近 500 万条记录。目标是计算字符串中字符的出现次数(在替换空值之后),我正在使用str_locate
计数。
由于这是一个逐行突变,我尝试使用rowwise()
带有dplyr
.
Test_df <- Test_df%>%
rowwise() %>%
mutate(col1 = replace_na(str_locate(as.character(my_string),"2")[1],999))
这条线的执行时间超过了 5 个小时,这是非常次优的。
然后,我尝试根据这个purrr:pmap
Stack Overflow Thread 使用该函数稍微加快进程,但这无助于加快进程。
Test_DF <- Test_DF%>%mutate(col1 = purrr::pmap_dbl(list(Test_DF$my_string), function(a) replace_na(str_locate(a,"2")[1],999)))
有没有办法让执行replace_na
更快str_locate
?我需要每月执行一次。