[PYTHON] Agrégation pratique de séries chronologiques avec TimeGrouper de pandas

Pour rappel car il n'y avait aucune information sur TimeGrouper comme l'extension de GroupBy dans les pandas. Veuillez me faire savoir s'il existe une méthode standard plus de facto!

Exemple: utile lorsque vous souhaitez agréger dans une période spécifique

Exemple

Dépassement de pile associé

Exemple 1: agréger tous les 6 mois à partir de données avec des valeurs mensuelles (à partir de [1])

ts = pd.date_range('7/1/2008', periods=30, freq='MS') 
df = pd.DataFrame(pd.Series(range(len(ts)), index=ts))
df[0] += 1
df # 2008/7/Créer des trames de données mensuelles à partir de 1

Screen Shot 2017-01-04 at 23.18.06.png

df2 = pd.DataFrame([0], index = [df.index.shift(-1, freq='MS')[0]])
df2

Screen Shot 2017-01-04 at 23.21.24.png

df2 peut être agrégé tous les 6 mois

df2.append(df).groupby(pd.TimeGrouper(freq='6M')).aggregate(np.sum)[1:] 

Screen Shot 2017-01-04 at 23.21.32.png

Exemple 2: agréger quotidiennement des données contenant des enregistrements de transaction avec des horodatages

rng = pd.date_range(start = '2014-01-01',periods = 100, freq='H')
df_original = pd.DataFrame({'Volume' : np.random.randint(100,2000,len(rng))}, index=rng)
df_original
Out[148]: 
	Volume
2014-01-01 00:00:00	1484
2014-01-01 01:00:00	1635
2014-01-01 02:00:00	984
2014-01-01 03:00:00	1239
2014-01-01 04:00:00	785
2014-01-01 05:00:00	871
2014-01-01 06:00:00	614
2014-01-01 07:00:00	119
2014-01-01 08:00:00	933
2014-01-01 09:00:00	624
...	...
2014-01-04 19:00:00	1832
2014-01-04 20:00:00	1996
2014-01-04 21:00:00	1040
2014-01-04 22:00:00	1867
2014-01-04 23:00:00	1098
2014-01-05 00:00:00	1397
2014-01-05 01:00:00	1996
2014-01-05 02:00:00	610
2014-01-05 03:00:00	1242
100 rows × 1 columns
df_tmp = pd.DataFrame({'Volume':[0]}, index = [df_original.index.shift(-1, freq='D')[0]])
df_daily=df_tmp.append(df_original).groupby(pd.TimeGrouper(freq='D')).aggregate(np.sum)[1:] 
df_daily

Screen Shot 2017-01-05 at 00.07.58.png

P.S Je veux intégrer jupyter dans Qiita

Recommended Posts

Agrégation pratique de séries chronologiques avec TimeGrouper de pandas
Reformatez l'axe des temps du graphique de la série chronologique des pandas avec matplotlib
Graphique des données de séries chronologiques en Python à l'aide de pandas et matplotlib
Prédiction de séries chronologiques facile avec Prophet
Analyse pratique avec Pandas + notebook Jupyter
<Pandas> Comment gérer les données de séries chronologiques dans le tableau croisé dynamique
Prédiction des données de séries chronologiques par projection simplex
Chargez csv avec des colonnes en double dans pandas
Prédire les données de séries chronologiques avec un réseau neuronal
Tracer CSV de données de séries temporelles avec une valeur unixtime en Python (matplotlib)
Trouvez un tournant! [Extraction des points de modification dans les séries chronologiques avec l'outil de recherche de modifications]
Ajouter une série à la colonne dans les pandas python
Gérez les structures de données 3D avec les pandas
Obtenez des données de séries chronologiques de k-db.com avec Python
Supprimer les lignes avec des valeurs arbitraires dans pandas DataFrame
Voir les détails des données de séries chronologiques dans Remotte
Comment lire les données de séries chronologiques dans PyTorch
Supprimer les lignes avec des index en double dans pandas DataFrame
Gérer les types entiers avec des valeurs manquantes dans Pandas
Essayez de convertir des vidéos en temps réel avec OpenCV
Décomposition des séries temporelles
série pandas partie 1
Visualisez plus clairement les prédictions de séries chronologiques de Prophet avec Plotly
À propos du traitement du traitement d'agrégation de données de séries chronologiques IoT dans Azure Time Series Insights
Modifier le fuseau horaire dans Oracle Database Docker
Obtenez une sortie standard en temps réel avec le sous-processus Python
Comment accéder avec cache lors de la lecture_json avec pandas
Remplissez les valeurs aberrantes avec NaN en fonction des quadrants dans Pandas
Enregistrer les séries chronologiques TOPIX au format pickle, csv, Excel
pickle Pour lire ce qui a été fait en 2 séries avec 3 séries
[Série chronologique avec plotly] Visualisation dynamique avec plotly [python, cours boursier]
Convertissez les variables numériques en variables catégorielles avec les pandas en définissant un seuil