2017-08-09 2 views
-2

Je suis vraiment un débutant en programmation, et j'ai rencontré un problème. Je fais une analyse comparative entre fausses nouvelles et vraies nouvelles. J'ai un corpus de texte avec aprox. 3000 nouvelles vraies et 3000 fausses nouvelles. J'ai besoin de savoir si les nouvelles fausses ou réelles évoquent plus d'émotions d'excitation élevée. Je veux le faire en utilisant Warriner et. Al. liste de mots: http://crr.ugent.be/archives/1003Analyse de sentiment - excitation

J'ai importé la liste de mots à mon script:

warriner = pd.read_csv('warriner.csv', sep = '\t', encoding = 'utf-8') 
print warriner.head() 

I (pense, je) veux trouver la Arousal moyenne Somme, qui, dans la liste de mots est appelé A.Mean.Sum. Mais je ne peux pas le faire fonctionner, Spyder juste dire: l'objet 'DataFrame' n'a pas d'attribut 'A'. Quelqu'un peut-il aider? J'ai déjà calculé les scores de sentiment en utilisant LabMT comme vu ci-dessous, mais je ne peux pas faire fonctionner Warringer et al.

text_scored = [] for text in df['text']: sent_score = tm.labMT_sent(text) 
text_scored.append(sent_score) 
df['abs_sent'] = text_scored #adding the scored text to the df 

sentiment par rapport score de

text_scored = [] for text in df['text']: sent_score = tm.labMT_sent(text, rel = True) 
text_scored.append(sent_score) 
df['rel_sent'] = text_scored #adding the scored text to the df 
overall mean 

df['abs_sent'].mean() df['abs_sent'].loc[df['label'] == 'FAKE'].mean()  
#'fake' mean = - 22,1 df['abs_sent'].loc[df['label'] == 'REAL'].mean() 
#'real' mean = - 41,95 

calculs moyenne de score relatif

df['rel_sent'].mean() #overall mean df['rel_sent'].loc[df['label'] == 'FAKE'].mean() 
#'fake' mean = - 0,02 df['rel_sent'].loc[df['label'] == 'REAL'].mean() 
#'real' mean = - 0,05 

Répondre

2

Le code exemple que vous avez fourni est difficile pour moi de lire. Vous signalez le problème comme ayant à faire avec A.Mean.Sum, mais il n'y a aucun code relatif à cela. Il existe également des références à Spyder et DataFrame sans explication, code ou tags. Enfin, le titre devrait indiquer au répondant potentiel quelque chose sur le problème lui-même, et non sur le domaine général avec lequel le code fonctionne. La version actuelle attend du lecteur qu'il trouve ce qu'il est censé faire dans le rapport.

J'admettrai volontiers que je suis un novice ici, mais je suggère de lire l'intro How-to-ask et de clarifier votre question avec elle.

Je suppose également qu'il s'agit d'une question connexe pandas, sa page de documentation pourrait donc vous aider.

J'espère que j'étais de toute aide!