Énigme : créer une structure de données vide
Vous aspirez à construire un DataFrame et à le remplir ensuite de données de séries chronologiques. Au départ, vous imaginez un DataFrame vide meublé de colonnes et d'horodatages spécifiques, tous ornés de zéros ou de valeurs NaN.
Approche actuelle : une solution inélégante
Votre code actuel s'initialise un DataFrame avec des colonnes entièrement nulles et des lignes d'horodatage avant de parcourir les données pour calculer de nouvelles valeurs. Bien que cette approche remplisse son objectif, elle semble lourde et suggère l'existence d'une solution plus efficace.
Solution privilégiée : Accumuler des données dans une liste
Pour optimiser ce processus , il est prudent d'éviter la croissance par ligne dans le DataFrame. Au lieu de cela, accumulez les données dans une liste, puis initialisez un DataFrame une fois la collecte des données terminée. Les listes sont plus légères, consomment moins de mémoire et facilitent l'inférence automatique de types et l'attribution d'index.
data = [] for row in some_function_that_yields_data(): data.append(row) df = pd.DataFrame(data)
Avantages de l'accumulation dans une liste
Méthodes obsolètes à éviter
Certaines pratiques, répandues chez les utilisateurs novices, sont à éviter en raison de leur inefficacité et nuances :
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!