Maison > développement back-end > Tutoriel Python > Comment puis-je joindre efficacement des DataFrames en fonction de plages de dates et d'heures qui se chevauchent ?

Comment puis-je joindre efficacement des DataFrames en fonction de plages de dates et d'heures qui se chevauchent ?

DDD
Libérer: 2024-12-31 07:10:14
original
897 Les gens l'ont consulté

How Can I Efficiently Join DataFrames Based on Overlapping Datetime Ranges?

Joindre des trames de données pour des plages de dates et d'heures qui se chevauchent

Étant donné deux trames de données, df_1 et df_2, où df_1 a une colonne d'horodatage et df_2 a un début et une fin colonnes représentant des plages datetime, l'objectif est de joindre les dataframes en fonction de la condition que le La colonne d'horodatage de df_1 se situe dans la plage définie par les colonnes de début et de fin de df_2.

Pour y parvenir, une solution efficace consiste à utiliser IntervalIndex de Pandas pour indexer df_2 en fonction des valeurs de début et de fin. En définissant close='both' dans IntervalIndex, nous nous assurons que les extrémités des intervalles sont incluses.

Ensuite, nous pouvons exploiter la méthode get_loc pour identifier l'intervalle qui correspond à un horodatage donné dans df_1. En utilisant cette approche, nous pouvons obtenir l'événement correspondant de df_2 associé à cette plage de temps.

En appliquant ce processus à chaque ligne de df_1, nous pouvons attribuer les valeurs d'événement appropriées à une nouvelle colonne, joignant ainsi les deux des trames de données basées sur les critères de plage date/heure spécifiés.

Cette solution offre une méthode simple et efficace pour effectuer des jointures complexes entre des trames de données basées sur des intervalles date/heure qui se chevauchent.

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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal