2 votes

Comment compléter les données de temps manquant en utilisant pandas

J'ai une série de données pd comme ci-dessous. Pour certaines raisons, elle ne contient pas de données pour la période 2018-07-26 13:30:00 ~ 2018-08-03 15:45:00.

13     2018-03-13 16:40:00      12   12.07          0       
14     2018-03-13 16:41:00      13   12.07          0       
15     2018-03-13 16:42:00      12   12.07          0       
 …
230000 2018-07-26 13:30:00      45   12.07          0
230001 2018-08-03 15:45:00      30   12.07          0
230002 ....
…

Je voulais remplir ces blancs avec 0 et j'ai essayé "pandas.Series.asfreq" comme ceci

df1= df.asfreq("T",fill_value=0)
print(df1)

mais cela m'a donné une réponse bizarre comme ci-dessous.

1970-01-01       0    0    0

Pourriez-vous m'apprendre comment remplir ces blancs ?

4voto

Chris A Points 12964

IIUC, je crois que vous devez utiliser DataFrame.set_index d'abord, en mettant l'index sur votre datetime colonne.

Voici un exemple de base, mais vous pouvez substituer 'datetime_col' pour le nom réel de votre propre colonne de date :

# If necessary, cast datetime column to correct dtype
# df['datetime_col'] = pd.to_datetime(df['datetime_col']) 

df_new = df.set_index('datetime_col').asfreq('T', fill_value=0).reset_index()

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X