J'ai utilisé groupby dans pandas, cependant l'étiquette pour les groupes est simplement une valeur arbitraire, alors que je voudrais que cette étiquette soit l'index de la base de données d'origine (qui est datetime) afin que je puisse créer une nouvelle base de données que je peux tracer en termes de datetime.Python Pandas - Porter l'index comme nom de groupe/index pour une image de groupe produite
grouped_data = df.groupby(
['X',df.X.ne(df.X.shift()).cumsum().rename('grp')])
grouped_data2 = grouped_data['Y'].agg(np.trapz).loc[2.0:4.0]
La colonne x a l'évolution des valeurs de 1 à 4 et la deuxième ligne de code est destiné à intégrer la colonne Y dans les groupes où X est soit 2 ou 3. Ceux-ci sont des motifs répétitifs, je ne so » Je veux que tous les 2 et tous les 3 intégrés ensemble, je veux la période de temps où il va: 22222333333
comme un groupe, puis appliquer le np.trapz à nouveau au groupe suivant où il va: 2222233333
. De cette façon, je devrais avoir une nouvelle base de données avec un index correspondant au début de ces périodes et des valeurs qui font partie intégrante de ces périodes.