Comment générer un mot de la fréquence de l'histogramme, où les bars sont classés en fonction de leur hauteur
J'ai une longue liste de mots, et je veux générer un histogramme de la fréquence de chaque mot dans ma liste. J'ai été en mesure de le faire dans le code ci-dessous:
import csv
from collections import Counter
import numpy as np
word_list = ['A','A','B','B','A','C','C','C','C']
counts = Counter(merged)
labels, values = zip(*counts.items())
indexes = np.arange(len(labels))
plt.bar(indexes, values)
plt.show()
Il n'est pas, cependant, d'afficher les poubelles par rang (c'est à dire par la fréquence, fréquence la plus élevée est d'abord bin sur la gauche et ainsi de suite), même si, quand j'ai l'impression counts
des ordres pour moi Counter({'C': 4, 'A': 3, 'B': 2})
. Comment pourrais-je y parvenir?
OriginalL'auteur BKS | 2016-02-24
Vous devez vous connecter pour publier un commentaire.
Vous pouvez atteindre le résultat souhaité par le tri de vos données, puis passer la commande de tableaux à
bar
; ci-dessous-je utilisernumpy.argsort
. Le terrain se présente comme suit (j'ai aussi ajouté les étiquettes à la barre):Voici le code qui génère le terrain avec quelques commentaires en ligne:
Dans le cas où vous voulez tracer seulement la première
n
entrées, vous pouvez remplacer la lignepar
Dans le cas ci-dessus,
counts
serait alorspour
n = 2
.Si vous souhaitez supprimer la trame de l'intrigue et de l'étiquette, les barres directement, vous pouvez vérifier ce post.
Vous pouvez utiliser
counts.most_common(20)
c'est à direcounts = Counter(word_list).most_common(20)
.AttributeError Traceback (most recent call last) <ipython-entrée-33-704ddcc6ce26> <module>() 5 compte = Compteur(df['Texte']).most_common(10) 6 ----> 7 étiquettes, les valeurs = zip(*chiffres.items()) 8 9 # trier les valeurs dans l'ordre décroissant AttributeError: 'liste' de l'objet n'a pas d'attribut 'items'
Vrai,
most_common
renvoie une liste, pas un dictionnaire, j'ai mis à jour le post. Donc,dict(Counter(word_list).most_common(20))
doit travailler pour vous maintenant.OriginalL'auteur Cleb