Posiadam pandową ramkę danych o współrzędnych pojazdu (z wielu pojazdów w ciągu wielu dni). Dla każdego pojazdu i każdego dnia robię dwie rzeczy: albo zastosuj do niego algorytm, albo odfiltruj go całkowicie z zestawu danych, jeśli nie spełnia pewnych kryteriów.Przetwarzanie danych pandy w stylu deklaratywnym
Do tego używam df.groupby('vehicle_id', 'day')
a następnie .apply(algorithm)
lub .filter(condition)
acheive gdzie algorithm
i condition
są funkcjami, które odbywają się w dataframe.
Chciałbym pełną przetwarzanie moich zbioru danych (która obejmuje wiele .apply
i .filter
etapy) mają być rozpisane w declaritive stylu, w przeciwieństwie do bezwzględnie zapętlenie za pośrednictwem grup, z celem całość aby wyglądał jak:
df.group_by('vehicle_id', 'day').apply(algorithm1).filter(condition1).apply(algorithm2).filter(condition2)
oczywiście, powyższy kod jest nieprawidłowy, ponieważ .apply()
i .filter()
powrócić nowych dataframes, i to jest właśnie mój problem. Zwracają wszystkie dane z powrotem w pojedynczej ramce danych i stwierdzam, że ciągle aplikuję .groupby('vehicle_id', 'day')
.
Czy istnieje dobry sposób na napisanie tego bez konieczności grupowania według tych samych kolumn w kółko?