J'ai des données hebdomadaires de journaux pour certains appareils. Pour certains appareils, les logs commencent le lundi, pour d'autres le mercredi, etc. Parfois, il y a des trous de ~mois dans ces données, mais je veux que l'index DataFrame contienne toujours des lignes pour chaque semaine avec une valeur NaN.
J'essaie d'utiliser asfreq('W')
en Python, mais je ne parviens pas à obtenir ce que j'attends.
Exemple :
Ce que j'ai :
Date Some_Value
==== ==========
2019-04-10 2
2019-04-17 1
2019-04-24 3
2019-05-01 1
2019-05-08 3
2019-05-15 2
2019-06-06 3
2019-06-13 2
Ce que j'attends/veux avoir (noter 2 nouvelles lignes avec NaNs) :
Date Some_Value
==== ==========
2019-04-10 2
2019-04-17 1
2019-04-24 3
2019-05-01 1
2019-05-08 3
2019-05-15 2
2019-05-22 NaN
2019-05-30 NaN
2019-06-06 3
2019-06-13 2
Ce que j'obtiens avec asfreq('W')
:
Date Some_Value
==== ==========
2019-03-31 NaN
2019-04-07 NaN
2019-04-14 NaN
...................
Donc, j'ai tout NaN
et les dates de chaque dimanche. Mais je n'ai pas besoin des dates de chaque dimanche. J'ai besoin de prendre la première date d'un DataFrame (de la première ligne d'un groupe dans pandas' groupby
dans le cas de nombreuses séries temporelles) et rééchantillonner chaque semaine à partir de cette première ligne.
Est-il possible de le faire directement avec les pandas ? asfreq
? Avec une autre méthode pandas ? Ou doit-il s'agir d'une fonction personnalisée plus complexe ?
Merci.