Ich habe, was ich denke, sollte eine ziemlich einfache Frage, aber ich habe stundenlangPandas - Aggregieren und Plotten Ergebnisse
ich mit ihm gekämpft will eine Aggregation auf einem Pandas Datenrahmen zu tun und es dann matplotlib mit plotten
Ich beginne mit einer riesigen Tabelle von Jahren und Modellen von Autos. Ich möchte dann den Gesamtverkaufspreis und einen Prozentsatz der Angebotspreise berechnen.
ich das wie folgt
percent_asking_price =(df.groupby(['year','model'])['salesprice'].sum()/df.groupby(['year','model'])['askingprice'].sum())*100
, das zu tun scheint, was ich will es tun, aber dann weiß ich nicht, was mit dem Ausgang zu tun - es gibt Ausgabe, die wie folgt aussieht:
von diesem Punkt an, ich nicht herausfinden kann, was damit zu tun .. ich möchte die Kombination des Jahres und den Modellnamen grafisch darzustellen matplotlib mit, um es so etwas wie dies aussehen:
Ein bisschen frustriert, weil das etwas ist, ich ddply und ggplot in r wirklich schnell tun können, verwenden, sondern kann einfach nicht überall hier
Ich habe versucht, die Ausgabe in eine Datenrahmen konvertieren, aber das didnt mich überall bekommen wirklich
Würde
Ein kleiner Satz helfen schätzen, dass die Ergebnisse folgt zeigen:
year,model,salesprice,askingprice
2009,Taurus,25410,30000
2009,Taurus,8698,10000
2009,Maxima,11135,15000
2009,Maxima,8500,10000
2010,Corvette,25000,30000
2010,Corvette,18320,20000
2010,Trans Am,32000,35000
2010,Trans Am,23620,25000
Endlich gibt es eine Möglichkeit, die Ausgabe in einen Datenrahmen zu konvertieren, der wie folgt aussieht, damit ich weitere Arbeit an der Ausgabe machen kann? Ich will nicht die Werte in der ersten Spalte ..
Dank verlieren!
Sie bitte Ihre Originaldaten zeigen, bevor die Gruppierung so können wir Ihre ganze Frage reproduzieren. –
Jahre, Modell, Verkaufspreis, angefragte Kaufpreis 2009, Stier, 25410,30000 2009, Stier, 8698,10000 2009 Maxima, 11135,15000 2009 Maxima, 8500,10000 2010 Corvette, 25000,30000 2010 , Corvette, 18320,20000 2010, Trans Am, 32000,35000 2010, Trans Am, 23620,25000 –