Table des matières
Grammaire
Algorithme
Méthode
Méthode 1 : Regrouper par fréquence quotidienne
Exemple
Sortie
Instructions
Méthode 2 : Regrouper par fréquence personnalisée, telle que des intervalles de 15 minutes
Conclusion
Maison développement back-end Tutoriel Python Comment regrouper les données par intervalle de temps dans Python Pandas ?

Comment regrouper les données par intervalle de temps dans Python Pandas ?

Aug 29, 2023 pm 02:13 PM

如何在Python Pandas中按时间间隔分组数据?

L'analyse des données devient de plus en plus un aspect important de chaque secteur. De nombreuses organisations s'appuient fortement sur l'information pour prendre des décisions stratégiques, prévoir les tendances et comprendre le comportement des consommateurs. Dans un tel environnement, la bibliothèque Pandas de Python apparaît comme un dispositif puissant, offrant une gamme différente de fonctionnalités pour manipuler, décomposer et visualiser avec succès les informations. L'une de ces fonctionnalités puissantes consiste à regrouper les données par intervalles de temps.

Cet article se concentrera sur la façon d'utiliser Pandas pour regrouper les données par intervalles de temps. Nous explorerons la syntaxe, des algorithmes faciles à comprendre, deux approches différentes et deux codes du monde réel entièrement exécutables basés sur ces approches.

Grammaire

La méthode sur laquelle nous allons nous concentrer est la fonction groupby() de Pandas, en particulier sa méthode de rééchantillonnage. La syntaxe est la suivante :

df.groupby(pd.Grouper(key='date', freq='T')).sum()
Copier après la connexion

En grammaire :

  • df − votre DataFrame.

  • groupby(pd.Grouper()) − Fonction de regroupement de données.

  • key - La colonne par laquelle vous souhaitez effectuer un regroupement. Ici, c'est la colonne 'date'.

  • freq − fréquence de l'intervalle de temps. ("T" représente les minutes, "H" représente les heures, "D" représente les jours, etc.)

  • sum() - Fonction d'agrégation.

Algorithme

Voici un algorithme étape par étape pour regrouper les données par intervalles de temps -

  • Importez la bibliothèque nécessaire, à savoir Pandas.

  • Chargez ou créez votre DataFrame.

  • Convertissez la colonne de date en un objet datetime, si elle n'est pas déjà convertie.

  • Utilisez pd.Grouper pour appliquer la fonction groupby() sur la colonne de date, en utilisant la fréquence souhaitée.

  • Appliquez des fonctions d'agrégation telles que sum(), Mean()

  • Imprimez ou stockez les résultats.

Méthode

Nous considérerons deux approches différentes −

Méthode 1 : Regrouper par fréquence quotidienne

Dans cet exemple, nous créons un DataFrame contenant une plage de dates et de valeurs. Nous avons ensuite regroupé les données par fréquence quotidienne et additionné les valeurs quotidiennes.

Exemple

# Import pandas
import pandas as pd

# Create a dataframe
df = pd.DataFrame({
   'date': pd.date_range(start='1/1/2022', periods=100, freq='H'),
   'value': range(100)
})

# Convert 'date' to datetime object, if not already
df['date'] = pd.to_datetime(df['date'])

# Group by daily frequency
daily_df = df.groupby(pd.Grouper(key='date', freq='D')).sum()

print(daily_df)
Copier après la connexion

Sortie

            value
date             
2022-01-01    276
2022-01-02    852
2022-01-03   1428
2022-01-04   2004
2022-01-05    390
Copier après la connexion

Instructions

L'introduction de la bibliothèque Pandas est une exigence absolue pour tout travail de manipulation de données et c'est la principale chose que nous allons vraiment faire dans ce code. L'utilisation de la stratégie pd.DataFrame() est une étape ultérieure lors de la construction d'un DataFrame. Les parties "Date" et "Valeur" constituent cette trame de données. La fonction pd.date_range() est utilisée pour créer une plage d'horodatages horaires dans la colonne "Date", tandis que la partie "Valeur" ne contient que des plages de nombres entiers. La colonne "Date" est le résultat de cette interaction.

Bien que notre colonne Date gère actuellement les objets datetime différemment, nous utilisons progressivement la fonction pd.to_datetime() pour nous assurer qu'elle est modifiée. Cette étape est critique car la progression de l’activité de collecte dépend du fait que le segment possède ou non un type d’information d’objet datetime.

Après cela, afin de regrouper les données par fréquence quotidienne (« D »), nous utilisons la fonction groupby() combinée avec la fonction pd.Grouper(). Après le regroupement, nous utilisons la fonction sum() pour combiner tous les éléments « valeur » appartenant au même jour en un seul total.

Enfin, le DataFrame groupé est écrit, affichant le total des valeurs de chaque jour.

Méthode 2 : Regrouper par fréquence personnalisée, telle que des intervalles de 15 minutes

Exemple

# Import pandas
import pandas as pd

# Create a dataframe
df = pd.DataFrame({
   'date': pd.date_range(start='1/1/2022', periods=100, freq='T'),
   'value': range(100)
})

# Convert 'date' to datetime object, if not already
df['date'] = pd.to_datetime(df['date'])

# Group by 15-minute frequency
custom_df = df.groupby(pd.Grouper(key='date', freq='15T')).sum()

print(custom_df)
Copier après la connexion

Sortie

                     value
date                      
2022-01-01 00:00:00    105
2022-01-01 00:15:00    330
2022-01-01 00:30:00    555
2022-01-01 00:45:00    780
2022-01-01 01:00:00   1005
2022-01-01 01:15:00   1230
2022-01-01 01:30:00    945
Copier après la connexion

Instructions

La technique suivante commence par un import de la bibliothèque Pandas similaire à la première puis crée un DataFrame. Ce DataFrame est le même que celui utilisé dans le modèle précédent ; la seule différence est que la colonne 'date' contient désormais l'horodatage en minutes.

La colonne 'date' doit être un objet datetime pour que l'activité de collecte fonctionne correctement, et la fonction pd.to_datetime() garantit que cela se produit.

Dans cette section, nous utilisons la fonction pd.Grouper() à l'intérieur de la méthode groupby() pour effectuer des opérations de regroupement en utilisant une fréquence dédiée de 15 minutes (« 15T »). Pour agréger les entrées « valeur » pour chaque intervalle de 15 minutes, nous utilisons la fonction sum(), qui est la même méthode que celle utilisée dans la première méthode.

Complétez le code en affichant un nouveau DataFrame groupé affichant la somme de la colonne 'valeur' ​​pour chaque intervalle de 15 minutes.

Conclusion

Les puissantes fonctionnalités de Pandas incluent diverses opérations de données, dont l'une consiste à regrouper les données par intervalles de temps. En utilisant la fonction groupby() en conjonction avec pd.Grouper, nous pouvons segmenter efficacement les données en fonction de fréquences quotidiennes ou de fréquences personnalisées, permettant une analyse de données efficace et flexible.

La possibilité de regrouper les données par intervalles de temps permet aux analystes et aux entreprises d'extraire des informations significatives à partir des données. Qu'il s'agisse de calculer les ventes totales par jour, d'obtenir la température moyenne par heure ou de compter les visites sur un site Web toutes les 15 minutes, le regroupement des données par intervalles de temps nous permet de mieux comprendre les tendances, les modèles et les changements dans les données au fil du temps.

N'oubliez pas que la bibliothèque Pandas de Python est un puissant outil d'analyse de données. Apprendre à utiliser ses fonctionnalités, telles que la méthode groupby, peut vous aider à devenir un analyste de données ou un data scientist plus efficace et plus compétent.

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Apr 01, 2025 pm 05:09 PM

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Apr 01, 2025 pm 11:15 PM

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Quelles sont les bibliothèques Python populaires et leurs utilisations? Quelles sont les bibliothèques Python populaires et leurs utilisations? Mar 21, 2025 pm 06:46 PM

L'article traite des bibliothèques Python populaires comme Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask et Demandes, détaillant leurs utilisations dans le calcul scientifique, l'analyse des données, la visualisation, l'apprentissage automatique, le développement Web et H et H

Comment créer dynamiquement un objet via une chaîne et appeler ses méthodes dans Python? Comment créer dynamiquement un objet via une chaîne et appeler ses méthodes dans Python? Apr 01, 2025 pm 11:18 PM

Dans Python, comment créer dynamiquement un objet via une chaîne et appeler ses méthodes? Il s'agit d'une exigence de programmation courante, surtout si elle doit être configurée ou exécutée ...

Comment Uvicorn écoute-t-il en permanence les demandes HTTP sans servir_forever ()? Comment Uvicorn écoute-t-il en permanence les demandes HTTP sans servir_forever ()? Apr 01, 2025 pm 10:51 PM

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures? Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures? Apr 02, 2025 am 07:18 AM

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Que sont les expressions régulières? Que sont les expressions régulières? Mar 20, 2025 pm 06:25 PM

Les expressions régulières sont des outils puissants pour la correspondance des motifs et la manipulation du texte dans la programmation, améliorant l'efficacité du traitement de texte sur diverses applications.

See all articles