


Comment regrouper les données par intervalle de temps dans 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()
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)
Sortie
value date 2022-01-01 276 2022-01-02 852 2022-01-03 1428 2022-01-04 2004 2022-01-05 390
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)
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
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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 ...

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 ...

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

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? 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 les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Fastapi ...

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.
