2015-12-14 2 views
2

J'ai besoin de créer un corpus à partir d'une immense base de données (ou de n'importe quel python équivalent à la dataframe) en le divisant en autant de dataframes que les noms d'utilisateurs.Créer un corpus "virtuel" en python

Par exemple je commence à partir d'une trame de données comme ceci:

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" 

Et je veux obtenir:

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" 

Et ainsi de suite ..

Je l'ai déjà posé cette question R , mais maintenant je me suis rendu compte que l'utilisation du python NLTK pourrait être un avantage pour moi. J'ai découvert que dans R je peux créer un corpus virtuel. Est-ce la même chose en python? Ou y a-t-il un autre moyen de résoudre ce problème en python?

Pour voir comment je résolu ce problème en R voir:

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

How transform a list into a corpus in r?

Répondre

-1

ici est votre solution dans R

J'ai créé un data.frame similaire df

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

Voici les indices des groupes et des noms pour les futurs petits data.frames

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

Ensuite, dans une boucle for je crée ces petites data.frames

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

La question n'a pas comment le faire en R. Ils ont lié à des questions qui demandent comment le faire dans R et la réponse est d'utiliser «split» qui est une bien meilleure approche. – Dason

+0

Oui, vous avez raison! Merci, de me corriger –