fréquence des mots à l'aide de pandas et matplotlib
Comment puis-je tracer histogramme de fréquence des mots (auteur de la colonne)à l'aide de pandas et matplotlib à partir d'un fichier csv? Mon csv est: id, auteur, titre, langue
Parfois, j'ai plusieurs auteurs dans la colonne des auteurs séparés par un espace
file = 'c:/books.csv'
sheet = open(file)
df = read_csv(sheet)
print df['author']
Pour l'ouverture d'un fichier, vous devez utiliser le
"Parfois, j'ai plusieurs auteurs dans la colonne des auteurs séparés par des espaces" -- vous devriez vraiment avoir très clairement dès le début. Pouvez-vous me montrer un exemple?
3,bob peter,t3,fr
width open(path) as f: ...
idion. Pas nécessaire ici, pandas.read_csv()
pouvez prendre un chemin en premier lieu. Aussi, soyez précis dans votre question. Le nom de la colonne est "l'auteur", pas d'auteur, droit?"Parfois, j'ai plusieurs auteurs dans la colonne des auteurs séparés par des espaces" -- vous devriez vraiment avoir très clairement dès le début. Pouvez-vous me montrer un exemple?
3,bob peter,t3,fr
OriginalL'auteur DevEx | 2014-03-10
Vous devez vous connecter pour publier un commentaire.
Utilisation
collections.Counter
pour la création de l'histogramme des données, et de suivre l'exemple donné ici, c'est à dire:Avec ce fichier de test:
le code ci-dessus crée le graphique suivant:
Modifier:
Vous avez ajouté une condition secondaire, où l'auteur colonne peut contenir de multiples séparées par un espace de noms. Le code suivant traite de ce:
Pour cet exemple:
il imprime
Noter que ce code ne fonctionne que parce que les chaînes sont itératif.
Ce code est essentiellement exempt de pandas, sauf pour le CSV-l'analyse de la partie qui a conduit le DataFrame
df
. Si vous avez besoin de la valeur par défaut de la parcelle style de pandas, puis il y a aussi une suggestion de la mentionné fil.OriginalL'auteur Jan-Philip Gehrcke
Vous pouvez compter le nombre d'occurrences de chaque nom à l'aide de
value_counts
:De la série (et DataFrames) ont un hist méthode d'élaboration des histogrammes:
Je viens de réaliser que le décompte des valeurs et tracer un diagramme en barres est le tour est joué! df['auteur'].value_counts().de la parcelle(type='bar') Maintenant j'ai juste besoin de faire pivoter l'axe des x étiquettes!
Un moyen très agréable. L'hist() ne fonctionne pas pour moi. Quelqu'un peut-il m'aider ?
Je soupçonne que c'est la façon dont vous avez configuré matplotlib, n' .plot() de travail?
on dirait que je n'ai pas de mise à jour de la réponse à l'observation, à n'utiliser que la parcelle:
df['author'].value_counts().plot(kind='bar')
OriginalL'auteur Andy Hayden