Ich habe kleine Marktprodukte Verkaufsdaten in Pandas dateframe:Erstellen Sie zusätzliche Datenrahmen auf der Grundlage der bestehenden
date product name turnover qty receipts_qty profit
2015-42 2889220 milk 17.73 3.000 3 13.2700
2015-42 2905772 bread 40.94 2.000 2 40.9400
2015-42 2876012 salt 291.36 5.000 3 292.2450
2015-42 2846814 cakes 92.43 4.000 4 55.5300
...
2015-46 2889220 milk 12.44 2.000 2 9.9344
2015-46 2905772 bread 62.11 3.000 3 62.1100
2015-42 2876012 salt 210.76 4.000 3 190.0050
2015-42 2846814 cakes 120.27 5.000 4 72.1300
[14934 rows x 7 columns]
Was ich brauche ist weitere zwei Datenrahmen zu erhalten, basierend auf ‚Menge‘ Spalt zwischen Anfang und Ende Daten - eine für Produkte, die im Verkauf gestiegen sind, und eine zweite für Produkte, die im Verkauf gefallen sind. Etwas wie folgt aus:
Increase
name qty_change profit_change
bread 1.000 21.2700
cakes 1.000 16.6000
...
Decrease
name qty_change profit_change
milk -1.000 -3,3356
salt -1.000 -102,2400
...
So etwas wie 'erhöhen = df [df.groupby ('name') ['qty']. Diff()> 0]; sink = df.groupby ('name') ['qty']. diff() <0] 'könnte ein guter Ausgangspunkt sein. – Abdou
@Abdou funktioniert nicht: im Testbeispiel von 8 Zeilen mit 4 Produktpaaren gefunden nur eine Erhöhung (sollte zwei sein) und zwei Abnahme (das ist ok). Berechnet auch nicht die Mengendifferenz - nimmt nur den letzten Wert. – Charnel
Bitte beachten Sie die Antwort. Es verwendet Ihren Beispieldatensatz und erhält Ihre gewünschte Ausgabe. Bitte versuchen Sie es und melden Sie sich zurück. – Abdou