2017-05-17 1 views
0

J'essaie de tracer la croissance des ventes par ville au fil du temps. J'ai un fichier csv que je suis l'importation avec ... pandas géantsTracer des lignes multiples en Python de CSV

import pandas as pd 
import numpy as np 
import matplotlib as plt  
df = pd.read_csv("filepath.csv") 

Dans ce dataframe trois colonnes, la date (au format m/d/yyyy 0:00:00), la valeur de l'ordre et la ville. J'essaie de tracer l'occurrence des ordres dans chaque ville comme une ligne distincte, de sorte que la première date il y a un ordre pour une ville particulière, la valeur y sera 1, la deuxième date il y a un ordre pour cela city, la valeur y sera deux, etc.

J'ai aussi besoin du code pour ignorer les valeurs nulles pour City.

Jusqu'à présent, je suis venu avec ceci:

style.use('ggplot') 

df.groupby('City').plot(x='Date', y='Weekly Payment') 

plt.title('Title of Chart') 
plt.ylabel('Y Axis') 
plt.xlabel('X Axis') 

plt.show() 

Il renvoie une erreur disant qu'il n'y a pas de données numériques à tracer. Aide beaucoup apprécié!

edit: voici une image du type de graphique que je voudrais créer:

image on imgur

+1

Les questions qui demandent une aide au débogage («pourquoi ce code ne fonctionne-t-il pas?») Doivent inclure le comportement souhaité, un problème ou une erreur spécifique et le code le plus court nécessaire pour le reproduire dans la question. Les questions sans énoncé de problème clair ne sont pas utiles aux autres lecteurs. Voir: Comment créer un [mcve]. – ImportanceOfBeingErnest

+0

Merci pour les commentaires! J'ai ajouté un lien vers une image du type de sortie que j'aimerais voir. –

Répondre

0

Je crois que le problème que vous rencontrez est que vous n'avez pas la même ammount de Pour toutes les villes,

Pour que les informations soient représentées sur la même figure, les ensembles de données doivent avoir la même taille pour chaque placette. Donc, ce que vous devez faire est de générer des données factices pour combler les lacunes où les données sont manquantes pour votre deuxième intrigue. En ce qui concerne l'ignorance des villes nulles, un essai simple et un wrapper except devraient le faire.

+0

Hmm, quel type de données fictives puis-je appliquer qui ne nuira pas à l'exactitude du rapport? En outre, où appliqueriez-vous le wrapper except pour ignorer les valeurs nulles? –

+0

Vous pouvez essayer de déterminer le nombre de points de données manquants entre les données réelles et les points de tracé sur le graphique qui relie les deux points de données réels adjacents, si cela a du sens. Quant à l'essai et à l'exception, déterminez quelle ligne ou extrait renvoie une erreur des villes nulles et l'enveloppe entre une instruction try et une instruction – vencaslac

+0

Une autre chose que vous pouvez prendre en compte est de savoir si un graphique linéaire est approprié ou non ici. Avez-vous envisagé d'utiliser des graphiques à barres? Si un paiement a été effectué pour une ville à une date donnée mais qu'aucun paiement n'a été effectué pour l'autre, ma suggestion précédente montrerait un graphique qui pourrait être trompeur, mais un graphique à barres montrerait un espace vide, probablement plus représentatif, bien que Je suppose que je fais des hypothèses sur votre cas d'utilisation – vencaslac