2015-12-14 4 views
2

Мне нужно создать корпус из огромного фреймворка данных (или любого эквивалента python для r dataframe), разделив его на столько числовых кадров, сколько имен пользователей.Создайте «виртуальный» корпус в python

Например я начинаю с dataframe так:

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?

ответ

-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, и ответом на использование «split», который является гораздо лучшим подходом. – Dason

+0

Да, вы правы! Спасибо, что исправил меня –