J'ai une série temporelle qui a été mesurée par un capteur avec une horloge qui ne s'ajuste pas selon les règles DST. Par conséquent, les données datetime sont indépendantes de DST. Quelle est la meilleure façon de localiser ces données dans Pandas?Dans Pandas, quelle est la meilleure façon d'utiliser tz_localize pour une série temporelle qui ignore DST?
1
A
Répondre
0
Vous pouvez d'abord localiser un fuseau horaire non modifiable, par exemple EST, puis utiliser tz_convert()
pour le changer en fuseau horaire qui détecte automatiquement l'heure d'été, par exemple US/Est.
In [16]: a=pd.DataFrame(dict(t=(pd.Timestamp('01/01/2017'), pd.Timestamp('07/01/2017'))))
In [17]: a
Out[17]:
t
0 2017-01-01
1 2017-07-01
In [18]: a.t=a.t.dt.tz_localize('EST')
In [19]: a
Out[19]:
t
0 2017-01-01 00:00:00-05:00
1 2017-07-01 00:00:00-05:00
In [20]: a.t=a.t.dt.tz_convert('US/Eastern')
In [21]: a
Out[21]:
t
0 2017-01-01 00:00:00-05:00
1 2017-07-01 01:00:00-04:00
Par défaut, pandas utilise pytz pour les fuseaux horaires; vous pouvez voir this question pour une liste ou comment vérifier vous-même les fuseaux horaires de votre installation.