gpt4 book ai didi

r - 从 data.table 列中修剪空白

转载 作者:行者123 更新时间:2023-12-04 18:08:58 25 4
gpt4 key购买 nike

我使用 fread 导入非常大的 .CSV 文件。有些列在我需要删除的文本之后有空格。这需要太多时间(小时)。

以下代码有效,但 system.time 处的命令非常慢(在我的计算机上大约 12 秒,而实际文件要大得多)。

library(data.table)
library(stringr)

# Create example-data
df.1 <- rbind(c("Text1 ", 1, 2), c("Text2 ", 3, 4), c("Text99 ", 5, 6))

colnames(df.1) <- c("Tx", "Nr1", "Nr2")
dt.1 <- data.table(df.1)
for (i in 1:15) {
dt.1 <- rbind(dt.1, dt.1)
}

# Trim the "Tx"-column
dt.1[, rowid := 1:nrow(dt.1)]
setkey(dt.1, rowid)
system.time( dt.1[, Tx2 :={ str_trim(Tx) }, by=rowid] )
dt.1[, rowid:=NULL]
dt.1[, Tx:=NULL]
setnames(dt.1, "Tx2", "Tx")

有没有更快的方法来修剪 data.tables 中的空格?

最佳答案

system.time( dt.1[, Tx2 :={ str_trim(Tx) }, by=rowid] )
user system elapsed
19.026 0.105 19.021

system.time( dt.1[, Tx2 := gsub("\\s+$", "", as.character(Tx)), by=rowid])
user system elapsed
4.789 0.053 4.773

关于r - 从 data.table 列中修剪空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19256438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com