Mam gappy czasseries przechowywane w parsie danych z datetimeindex. Chcę teraz zidentyfikować luki w przedziałach czasowych, aby zidentyfikować ciągłe segmenty, aby je przetworzyć osobno (aw niektórych przypadkach skleić ze sobą segmenty z wystarczająco krótkimi przerwami między nimi).Wykrywanie luki w danych (bez wypełniania) w pandach?
Są dwa główne sposoby, które mogę zobaczyć, aby to zrobić. Pierwszym z nich jest ponowne indeksowanie za pomocą różnych podejść, aby uzyskać regularne przedziały czasowe i obserwować wypełnione wartości NA w obszarach luk. W moim przypadku prowadzi to do wielu dodatkowych wierszy (to jest niektórych długich przerw). Następnie musisz wykonać dodatkowy krok, aby zidentyfikować ciągłe segmenty.
Innym podejściem, a obecnie używam, jest użycie np.diff, aby odróżnić indeks i znaleźć luki za pomocą np.where. Ale czy istnieje bardziej wrodzone podejście do pandy? Wydaje się to dość powszechnym zadaniem. Zauważam, że są problemy z np.df i pandami z pewnymi kombinacjami wersji numpy i pandy, więc rozwiązanie tylko pandas byłoby lepsze.
Jaki byłby idealny byłby coś
for segment in data.continuous_segments():
# Process each segment
dla danych dataframe.
myślę, że to może być dobrym miejscem do rozpoczęcia: http://stackoverflow.com/questions/22290793/fill-na-values-in-pandas-series -z-przystankiem –