Skip to main content
 首页 » 编程设计

python之在 python 中创建一个 "virtual"语料库

2025年05月04日10tintown

我需要从一个巨大的数据帧(或任何与 r 数据帧等效的 python)创建一个语料库,方法是将它分成与用户名一样多的数据帧。

例如,我从这样的数据框开始:

username    search_term 
name_1      "some_text_1" 
name_1      "some_text_2" 
name_2      "some_text_3" 
name_2      "some_text_4" 
name_3      "some_text_5" 
name_3      "some_text_6" 
name_3      "some_text_1" 
 
[...] 
 
name_n      "some_text_n-1" 

我想获得:

data frame 1 
username    search_term 
name_1      "some_text_1" 
name_1      "some_text_2" 
 
data frame 2 
username    search_term 
name_2      "some_text_3" 
name_2      "some_text_4" 

等等..

我已经为 R 提出了这个问题,但现在我意识到使用 python NLTK 对我来说可能是一个优势。 我发现在 R 中我可以创建一个虚拟语料库。在python中是一样的吗?或者有其他方法可以在 python 中解决这个问题吗?

要了解我如何在 R 中解决此问题,请参阅:

Split a huge dataframe in many smaller dataframes to create a corpus in r

How transform a list into a corpus in r?

请您参考如下方法:

这是你在 R 中的解决方案

我创建了一个类似的data.frame df

df <- data.frame(group = rep(1:6, each = 2) , value = 1:12) 

这里是组索引和 future 小数据帧的名称

idx <- unique(df$group) 
nms <- paste0('df', idx) 

接下来,在 for 循环中我创建了这些小的 data.frames

for(i in idx){ 
  df_tmp <- df[df$group == i, ] 
  do.call('<-', list(nms[i], df_tmp)) 
}