


Comment rééchantillonner les données de séries chronologiques en Python
Les données de séries chronologiques sont une séquence d'observations collectées à intervalles de temps fixes. Les données peuvent provenir de n’importe quel domaine, comme la finance, l’économie, la santé et les sciences de l’environnement. Les données de séries chronologiques que nous collectons peuvent parfois avoir des fréquences ou des résolutions différentes, ce qui peut ne pas convenir à nos processus d'analyse et de modélisation des données. Dans ce cas, nous pouvons rééchantillonner les données de la série chronologique par suréchantillonnage ou sous-échantillonnage, modifiant ainsi la fréquence ou la résolution de la série chronologique. Cet article présentera différentes méthodes pour suréchantillonner ou sous-échantillonner les données de séries chronologiques.
Suréchantillonnage
Le suréchantillonnage signifie augmenter la fréquence des données de séries chronologiques. Ceci est généralement effectué lorsque nous avons besoin d'une résolution plus élevée ou d'observations plus fréquentes. Python propose plusieurs méthodes pour suréchantillonner les données de séries chronologiques, notamment l'interpolation linéaire, l'interpolation du voisin le plus proche et l'interpolation polynomiale.
Syntaxe
DataFrame.resample(rule, *args, **kwargs)
DataFrame.asfreq(freq, method=None)
DataFrame.interpolate(method='linear', axis=0, limit=None, inplace=False, limit_direction='forward', limit_area=None)
ici,
- La fonction
resample est une méthode fournie par la bibliothèque pandas pour rééchantillonner les données de séries temporelles. Elle est appliquée sur un DataFrame et prend le paramètre de règle, qui spécifie la fréquence souhaitée pour le rééchantillonnage (*args) et les arguments de mots-clés. (**kwargs) peut être fourni pour personnaliser le comportement de rééchantillonnage, comme la spécification de la méthode d'agrégation ou la gestion des valeurs manquantes.
- La méthode
asfreq est utilisée en conjonction avec la fonction de rééchantillonnage pour convertir la fréquence des données de la série chronologique. Elle prend le paramètre freq, qui spécifie la chaîne de fréquence souhaitée pour la sortie. Le paramètre de méthode facultatif permet de spécifier comment gérer. toute valeur manquante introduite lors du processus de rééchantillonnage, telle que le remplissage vers l'avant, le remplissage vers l'arrière ou l'interpolation.
- La méthode d'interpolation est utilisée pour combler les valeurs manquantes ou les lacunes dans les données de séries chronologiques. Il interpole selon la méthode spécifiée (par exemple « linéaire », « le plus proche », « spline ») pour estimer les valeurs entre les observations existantes. Des paramètres supplémentaires peuvent contrôler l'axe d'interpolation, la limite de remplissage pour les valeurs NaN consécutives et s'il faut modifier le DataFrame en place ou renvoyer un nouveau DataFrame.
L'interpolation linéaire est utilisée pour suréchantillonner les données de séries chronologiques. Il comble les lacunes en traçant des lignes droites entre les points de données. L'interpolation linéaire peut être implémentée à l'aide de la fonction de rééchantillonnage de la bibliothèque pandas.
La traduction chinoise de
Exempleest :
ExempleDans l'exemple ci-dessous, nous avons une série chronologique DataFrame avec trois observations sur des dates non consécutives. Nous convertissons la colonne 'Date' en un format datetime et la définissons comme index. La fonction de rééchantillonnage est utilisée pour suréchantillonner les données en un. fréquence quotidienne (« D ») à l'aide de la méthode asfreq. Enfin, la méthode d'interpolation avec l'option « linéaire » comble les écarts entre les points de données à l'aide de l'interpolation linéaire. Le DataFrame, df_upsampled, contient les données de séries chronologiques suréchantillonnées avec des valeurs interpolées.
import pandas as pd # Create a sample time series DataFrame data = {'Date': ['2023-06-01', '2023-06-03', '2023-06-06'], 'Value': [10, 20, 30]} df = pd.DataFrame(data) df['Date'] = pd.to_datetime(df['Date']) df.set_index('Date', inplace=True) # Upsample the data using linear interpolation df_upsampled = df.resample('D').asfreq().interpolate(method='linear') # Print the upsampled DataFrame print(df_upsampled)
Sortie
Value Date 2023-06-01 10.000000 2023-06-02 15.000000 2023-06-03 20.000000 2023-06-04 23.333333 2023-06-05 26.666667 2023-06-06 30.000000
Interpolation du voisin le plus proche
L'interpolation du voisin le plus proche est une méthode simple qui comble les écarts entre les points de données avec l'observation disponible la plus proche. Cette méthode peut être utile lorsque la série chronologique présente des changements brusques ou lorsque l'ordre des observations est important. l'option « la plus proche » pour effectuer l'interpolation du voisin le plus proche
. La traduction chinoise deExemple
est :Exemple
Dans l'exemple ci-dessus, nous utilisons le même DataFrame original qu'avant. Après le rééchantillonnage avec la fréquence « D », la méthode d'interpolation avec l'option « la plus proche » comble les lacunes en copiant maintenant le DataFrame résultant, df_upsampled. a une fréquence quotidienne avec l'interpolation du voisin le plus proche.
import pandas as pd # Create a sample time series DataFrame data = {'Date': ['2023-06-01', '2023-06-03', '2023-06-06'], 'Value': [10, 20, 30]} df = pd.DataFrame(data) df['Date'] = pd.to_datetime(df['Date']) df.set_index('Date', inplace=True) # Upsample the data using nearest neighbor interpolation df_upsampled = df.resample('D').asfreq().interpolate(method='nearest') # Print the upsampled DataFrame print(df_upsampled)
Sortie
Value Date 2023-06-01 10.0 2023-06-02 10.0 2023-06-03 20.0 2023-06-04 20.0 2023-06-05 30.0 2023-06-06 30.0
Sous-échantillonnage
Le sous-échantillonnage est utilisé pour réduire la fréquence des données de séries chronologiques, souvent pour obtenir une vue plus large des données ou pour simplifier l'analyse. Python propose différentes techniques de sous-échantillonnage, telles que la moyenne, la somme ou la maximisation des valeurs sur un intervalle de temps spécifié.
Syntaxe
DataFrame.mean(axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
Ici, une méthode d'agrégation, telle que
moyenne, somme ou maximum, est appliquée après le rééchantillonnage pour calculer une valeur unique représentant les observations regroupées dans chaque intervalle de rééchantillonnage. Ces méthodes sont généralement utilisées lors du sous-échantillonnage des données. Ils peuvent être appliqués directement à un DataFrame rééchantillonné, ou ils peuvent être utilisés conjointement avec une fonction de rééchantillonnage pour agréger les données en fonction d'une fréquence spécifique (telle qu'hebdomadaire ou mensuelle) en spécifiant des règles appropriées. La traduction chinoise de Mean Downsampling
est :Average downsampling
Le sous-échantillonnage moyen calcule la moyenne des points de données dans chaque intervalle. Cette méthode est utile lors du traitement de données haute fréquence et de l'obtention de valeurs représentatives pour chaque intervalle. Vous pouvez utiliser la fonction de rééchantillonnage conjointement avec la méthode moyenne pour effectuer un sous-échantillonnage moyen.
Example
的中文翻译为:示例
In the below example, we start with a daily time series DataFrame spanning the entire month of June 2023. The resample function with the 'W' frequency downsamples the data to weekly intervals. By applying the mean method, we obtain the average value within each week. The resulting DataFrame, df_downsampled, contains the mean-downsampled time series data.
import pandas as pd # Create a sample time series DataFrame with daily frequency data = {'Date': pd.date_range(start='2023-06-01', end='2023-06-30', freq='D'), 'Value': range(30)} df = pd.DataFrame(data) df.set_index('Date', inplace=True) # Downsampling using mean df_downsampled = df.resample('W').mean() # Print the downsampled DataFrame print(df_downsampled)
输出
Value Date 2023-06-04 1.5 2023-06-11 7.0 2023-06-18 14.0 2023-06-25 21.0 2023-07-02 27.0
Maximum Downsampling
最大降采样计算并设置每个间隔内的最高值。此方法适用于识别时间序列中的峰值或极端事件。在前面的示例中使用max而不是mean或sum允许我们执行最大降采样。
Example
的中文翻译为:示例
In the below example, we start with a daily time series DataFrame spanning the entire month of June 2023. The resample function with the 'W' frequency downsamples the data to weekly intervals. By applying the max method, we obtain the Maximum value within each week. The resulting DataFrame, df_downsampled, contains the maximum-downsampled time series data.
import pandas as pd # Create a sample time series DataFrame with daily frequency data = {'Date': pd.date_range(start='2023-06-01', end='2023-06-30', freq='D'), 'Value': range(30)} df = pd.DataFrame(data) df.set_index('Date', inplace=True) # Downsampling using mean df_downsampled = df.resample('W').max() # Print the downsampled DataFrame print(df_downsampled)
输出
Value Date 2023-06-04 3 2023-06-11 10 2023-06-18 17 2023-06-25 24 2023-07-02 29
结论
在本文中,我们讨论了如何使用Python对时间序列数据进行重新采样。Python提供了各种上采样和下采样技术。我们探讨了线性和最近邻插值用于上采样,以及均值和最大值插值用于下采样。您可以根据手头的问题使用任何一种上采样或下采样技术。
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!

TomegelistSinpython, vous pouvez faire l'opérateur, ExtendMethod, ListComprehension, oriteroTools.chain, chacun avec des avantages spécifiques: 1) l'opératorissimplebutlessoficiesivetforlatelists; 2) ExtendisMemory-EfficientButmodifiestheoriginallist; 3)

Dans Python 3, deux listes peuvent être connectées via une variété de méthodes: 1) Utiliser l'opérateur, qui convient aux petites listes, mais est inefficace pour les grandes listes; 2) Utiliser la méthode Extende, qui convient aux grandes listes, avec une efficacité de mémoire élevée, mais modifiera la liste d'origine; 3) Utiliser * l'opérateur, qui convient à la fusion de plusieurs listes, sans modifier la liste originale; 4) Utilisez Itertools.chain, qui convient aux grands ensembles de données, avec une efficacité de mémoire élevée.

L'utilisation de la méthode join () est le moyen le plus efficace de connecter les chaînes à partir des listes de Python. 1) Utilisez la méthode join () pour être efficace et facile à lire. 2) Le cycle utilise les opérateurs de manière inefficace pour les grandes listes. 3) La combinaison de la compréhension de la liste et de la jointure () convient aux scénarios qui nécessitent une conversion. 4) La méthode Reduce () convient à d'autres types de réductions, mais est inefficace pour la concaténation des cordes. La phrase complète se termine.

PythonexecutionistheprocessoftransformingpythoncodeintoexecuableInstructions.1) the IntrepreterredSthecode, convertingitintoStecode, quithepythonvirtualmachine (pvm)

Les caractéristiques clés de Python incluent: 1. La syntaxe est concise et facile à comprendre, adaptée aux débutants; 2. Système de type dynamique, améliorant la vitesse de développement; 3. Rich Standard Library, prenant en charge plusieurs tâches; 4. Community et écosystème solide, fournissant un soutien approfondi; 5. Interprétation, adaptée aux scripts et au prototypage rapide; 6. Support multi-paradigme, adapté à divers styles de programmation.

Python est une langue interprétée, mais elle comprend également le processus de compilation. 1) Le code Python est d'abord compilé en bytecode. 2) ByteCode est interprété et exécuté par Python Virtual Machine. 3) Ce mécanisme hybride rend Python à la fois flexible et efficace, mais pas aussi rapide qu'une langue entièrement compilée.

Usaforloopwheniterating aepasquenceorfor pourpascific inumberoftimes; useawhileloopwencontinTutuntutilaconditioniseMet.ForloopsareIdealForkNown séquences, tandis que celle-ci, ce qui est en train de réaliser des étages.

PythonloopscanleadtoerrorlikeInfiniteLoops, modificationlistDuringiteration, off-by-by-oneerrors, zéro-indexingisss et intestloopinefficisecy.toavoid this: 1) use'i


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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

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

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

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

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.
