Maison  >  Article  >  développement back-end  >  Comment convertir un index datetime en colonne régulière dans un DataFrame Pandas ?

Comment convertir un index datetime en colonne régulière dans un DataFrame Pandas ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-07 15:17:03647parcourir

How to Convert a Datetime Index into a Regular Column in a Pandas DataFrame?

Ajout d'une nouvelle colonne de temps au DataFrame

Afin de tracer vos données, vous devez transformer la colonne d'index, 'YYYY-MO- DD HH-MI-SS_SSS', dans une colonne régulière. Pour y parvenir, vous pouvez utiliser la fonction 'reset_index' pour convertir l'index en une nouvelle colonne.

df3 = df3.reset_index()

Cela créera une nouvelle colonne nommée 'index' dans votre DataFrame df3 .

Vous pouvez également utiliser la méthode 'copie et affectation' pour créer une nouvelle colonne basée sur l'index existant :

df3['Time'] = df3.index

Cela ajoutera une nouvelle colonne nommée « Heure » ​​qui contient les valeurs de l'index.

Code optimisé

Voici une version optimisée de votre code qui résout le problème :

# Import CSV file
df = pd.read_csv('university2.csv', sep=";", skiprows=1, index_col='YYYY-MO-DD HH-MI-SS_SSS', parse_dates='YYYY-MO-DD HH-MI-SS_SSS')

# Extract interesting columns
df2 = df[[ 'ATMOSPHERIC PRESSURE (hPa)', 'TEMPERATURE (C)', 'magnetic_mag']].copy()

# Resample and aggregate interesting columns
df3 = df2.resample('H').agg(['mean','std'])
df3.columns = [' '.join(col) for col in df3.columns]

# Reset index to create Time column
df3.reset_index(inplace=True)

# Plot the data
plt.plot(df3['magnetic_mag mean'], df3['Time'], label='FDI')  

Ce code optimisé utilise 'read_csv' avec les options appropriées pour définir la colonne d'index et analyser correctement les dates. De plus, il exploite la fonctionnalité 'inplace' pour éviter de créer des copies inutiles de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn