11
votes

Groupie de multiples valeurs et traçage des résultats

J'utilise des données sur l'utilisation de fongicides qui a l'année, le fongicide, la quantité utilisée, ainsi que des colonnes non pertinentes dans un Dataframe de panda. Il semble un peu comme: xxx pré>

Ce que je veux de ce que je veux, c'est un seul terrain de fongicide total utilisé au fil du temps, avec une ligne tracée pour chaque fongicide individuel (de couleur différente). J'ai utilisé. Groupby pour obtenir la quantité totale de chaque fongicide utilisé chaque année: p> xxx pré>

Cela me donne les valeurs que je veux tracer, quelque chose comme: p>

Year, Fungicide, Value
...
2009, A,        128635
      B,        104765
2011, A,        154829
      B,        129865


1 commentaires

Ne pouvez-vous pas simplement grouper le fongicide de Fungicide?


3 Réponses :


4
votes

Quelque chose le long des lignes de: xxx

à l'aide de la boucle sur un objet de groupeBy itérale à travers chaque groupe, attribuant la clé (par exemple, A 'ou' B ', les valeurs de La colonne qu'il a été regroupée par) et le groupe de données de groupe à chaque fois.

voir ici pour un exemple

http://pandas.pydata.org/pandas-docs/stable/groupby.html#ITERATING-GROUPTS


0 commentaires

9
votes

Pour une solution propre qui imprime correctement légende et xticks , vous pouvez xxx

 Entrez la description de l'image ici Pour sous-textes , il suffit de définir le mot-clé respectif sur true : xxx

pour obtenir:

 Entrez la description de l'image ici


2 commentaires

Merci, cela fonctionne vraiment bien. En aparté; Puis-je modifier ce code pour produire également un terrain pour chaque ligne? Il me semble que j'ai trop de lignes pour montrer sur un terrain sans obscurcir les données. (Sans oublier que la légende artistique couvre la moitié de la parcelle si je le montre). J'ai essayé de courir le groupe de groupe, à travers une boucle, mais je ne peux pas sembler avoir cela fonctionnant


Merci encore, mais le problème est qu'il y a tellement de lignes que je veux tracer cela lors de la traçabilité de sous-parcelles sur une seule parcelle, elle devient scrovée verticalement au point d'être totalement illisible. Idéalement, j'aurais une ligne tracée sous forme de tracé séparé et enregistré sur un chemin de fichier séparé. Pour ce faire, j'essayais de faire une boucle pour la boucle: AFPLOT = Apple_fplot.unstack ("catégorie de domaine") pour i, colonne dans l'aflot: plt.figure (i); AFPLOT [colonne] .Plot () Plt. Savister ('... / Apple Fplot {}'. Format (i)) Je ne suis pas sûr que cela puisse fonctionner, mais cela me donne: ValueError: Trop de valeurs pour déballer



10
votes

Vous pouvez faire: xxx pré>

 Entrez la description de l'image ici p>

Data ​​strong> P>

   Year        State Fungicide  Value
0  2011   California         A  12879
1  2011   California         B  29572
2  2011      Florida         A   8645
3  2011      Florida         B  19573
4  2009   California         A   8764
5  2009   California         B  98643


0 commentaires