Ich habe einen Pandas Datenrahmen von Fahrzeugkoordinaten (von mehreren Fahrzeugen an mehreren Tagen). Für jedes Fahrzeug und jeden Tag mache ich zwei Dinge: Entweder wende ich einen Algorithmus an oder filtere ihn komplett aus dem Datensatz heraus, wenn er bestimmte Kriterien nicht erfüllt.Verarbeitung von Pandas Daten im deklarativen Stil
das ich df.groupby('vehicle_id', 'day')
verwenden, um acheive und dann .apply(algorithm)
oder .filter(condition)
wo algorithm
und condition
Funktionen sind, die in einem Datenrahmen nehmen.
Ich würde die vollständige Verarbeitung meiner Daten-Set wie in einem declaritive Stil geschrieben (die mehrere .apply
und .filter
Schritte beinhaltet) werden, im Gegensatz zu imperativ durch die Gruppen Looping, mit dem Ziel, die ganze Sache etwas zu suchen wie:
df.group_by('vehicle_id', 'day').apply(algorithm1).filter(condition1).apply(algorithm2).filter(condition2)
natürlich ist der obige Code falsch, da .apply()
und .filter()
neuen Datenrahmen zurückkehren, und das ist genau mein Problem. Sie geben alle Daten in einem einzigen Datenrahmen zurück, und ich finde, dass ich kontinuierlich .groupby('vehicle_id', 'day')
anwenden muss.
Gibt es eine nette Möglichkeit, dass ich dies schreiben kann, ohne immer wieder mit den gleichen Spalten gruppieren zu müssen?