2015-12-14 26 views
2

我需要從龐大的數據框(或與r數據框相當的任何python)中創建一個語料庫,方法是將其與用戶名分成很多數據框。在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中?

,看我是如何解決在讀該問題,請參閱:

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

How transform a list into a corpus in r?

回答

-1

這裏被設定爲R解決方案

我創建了一個類似的data.frame df

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

下面是組索引和名稱爲今後小data.frames

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)) 
} 
+3

的問題並不是如何做到這一點的R.它們與要求在R中如何做的問題相關,並且答案是使用'split',這是一種更好的方法。 – Dason

+0

是的,你是對的!謝謝,糾正我 –