Maison > développement back-end > Tutoriel Python > Comment rejoindre des DataFrames en fonction de plages d'horodatage ?

Comment rejoindre des DataFrames en fonction de plages d'horodatage ?

Linda Hamilton
Libérer: 2024-12-30 22:57:14
original
743 Les gens l'ont consulté

How to Join DataFrames Based on Timestamp Ranges?

Joindre des DataFrames basés sur des plages de valeurs de colonnes

Dans le contexte donné, nous avons deux dataframes, df_1 et df_2, où nous devons fusionner de telle sorte que la colonne d'horodatage de df_1 se situe dans les colonnes de début et de fin de df_2.

Une approche pour y parvenir consiste à créer un index d'intervalle à partir des colonnes de début et de fin dans df_2. Nous pouvons ensuite utiliser la méthode get_loc pour obtenir l'événement correspondant pour chaque horodatage dans df_1. Voici le code Python pour cette solution :

# Create interval index from df_2
df_2.index = pd.IntervalIndex.from_arrays(df_2['start'], df_2['end'], closed='both')

# Get corresponding event for each timestamp in df_1
df_1['event'] = df_1['timestamp'].apply(lambda x: df_2.iloc[df_2.index.get_loc(x)]['event'])
Copier après la connexion

Cela créera une nouvelle colonne nommée event in df_1, qui contient les événements correspondants pour chaque horodatage qui se situe dans les plages spécifiées dans df_2. Le dataframe joint résultant contiendra les colonnes suivantes :

timestamp         A         B event
Copier après la connexion

Le résultat ressemblera à :

            timestamp         A         B event
0 2016-05-14 10:54:33  0.020228  0.026572    E1
1 2016-05-14 10:54:34  0.057780  0.175499    E2
2 2016-05-14 10:54:35  0.098808  0.620986    E2
3 2016-05-14 10:54:36  0.158789  1.014819    E2
4 2016-05-14 10:54:39  0.038129  2.384590    E3
Copier après la connexion

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal