Mon trame de données de pandas géants ressemble à ceci:Groupe par les problèmes globaux pour les tableaux numpy sur les vecteurs de mots
Movieid review movieRating wordEmbeddingVector
1 "text" 4 [100 dimensional vector]
Je suis en train d'exécuter une mise en œuvre doc2vec et je veux être en mesure de groupe par ids de films et Invitons la somme des vecteurs dans wordEmbeddingVector et calculer une similitude cosinus entre le vecteur résumé et le vecteur d'entrée j'ai essayé de faire
movie_groupby = movie_data.groupby('movie_id').agg(lambda v : cosineSimilarity(np.sum(movie_data['textvec'])), inputvector)
Mais il semble fonctionner pendant des siècles et je pensais que je pourrais faire quelque chose de mal. J'ai donc essayé d'enlever la fonction de similarité et de juste grouper par et somme. Mais cela semble ne pas finir aussi bien (bien 1 heure et plus maintenant) Est-ce que je fais quelque chose de mal ou est-ce que c'est vraiment si lent? J'ai 135392 lignes dans mon cadre de données donc ce n'est pas énorme.
movie_groupby = movie_data.groupby('movie_id').agg(lambda v : np.sum(movie_data['textvec']))
Beaucoup apprécié!
ah je comprends ... parce que v est une rangée mais comme une mini dataframe ... oui l'hôtel est une faute de frappe ... J'essayais de suivre un blog de TripAdvisor! Merci beaucoup :) – Roshini
Oui, la fonction est appliquée à chaque groupe, et chaque groupe est une base de données. Une fois que vous comprenez que vous comprenez 'groupby' :) – IanS
ouais je pense que j'étais plus confus avec ce que le lambda sélectionnait ... comme dans ce qui était v .. si c'était le groupe ou si on attendait juste le vecteur ou si c'est un dataframe ..... Mais je comprends maintenant! – Roshini