-2
votes

Conversion des horodatages Unix en Pandas DateTime Prenant le fuseau horaire

Je voudrais convertir la série de pandas suivante contenant des horodatages UNIX en une date d'heure de pandas à l'aide de TO_DateTime () ou arrow bibliothèque en python. Je tiens à définir le fuseau horaire sur UTC et c'est actuellement Europe / Paris

Pour Pandas, j'utilise la fonction suivante, mais je ne sais pas comment prendre le Europe \ Paris Timezone en compte

pd.to_dateTime (df ["dates '], unité =' s ')


3 commentaires

Comment est le fuseau horaire sur une Timeestamp Unix Europe / Paris ??? Définition précise de UNIX TIME: "Nombre de secondes écoulées depuis 00:00:00 Coordonné Temps universel, jeudi 1er janvier 1970."


Voulez-vous dire que l'horodatage est généré à l'aide de l'Europe \ Paris Timezone? Par exemple, "maintenant" horodatage donnerait un horodatage UTC + 1.


Veuillez fournir quelques données d'exemple et quelle sortie vous attendez et ce qui se passe à la place. Unix Timestamps n'a pas d'autre fuseau horaire que UTC , ils sont simplement compensés en quelques secondes à partir de minuit UTC, 01-01-1970. Les routines DateTime de Python prennent en compte le fuseau horaire local.


3 Réponses :


2
votes

Si vous passez des objets DateTime utilisant l'Europe \ Paris Timezone:

Pass uc = true code> Lors de la conversion, comme celui-ci: P>

# convert timestamp to native datetime
ps = pd.to_datetime(df['dates'], unit='s')  # dtype: datetime64[ns]
# localize it to Europe/Paris
ps = ps.dt.tz_localize('Europe/Paris')  # dtype: datetime64[ns, Europe/Paris]
# Finaly, convert to UTC
ps = ps.dt.tz_convert('UTC')  # dtype: datetime64[ns, UTC]


5 commentaires

Merci @qusai, comment va-t-on savoir que le temps est en Europe / Paris Timezone?


@ user308827 directement à partir du système. Le fuseau horaire de votre ordinateur est réglé sur ce fuseau horaire, non?


Non Ceci est pour un appel API. Je suis en US.S.


@ user308827 Eh bien, c'est étrange .. mais je suppose que c'est un problème pour une autre question. Si ma réponse résout votre problème, veuillez l'accepter :)


Merci de votre réponse, mais cela ne répond pas vraiment à ma question. J'ai évoqué votre réponse cependant



3
votes

Essayez d'utiliser:

s = pd.to_datetime(df['dates'], unit='s').dt.tz_localize('Europe/Paris')
s.dt.tz_convert('UTC')


0 commentaires

0
votes

Supposons que vous ayez un jeu de données comme celui-ci, xxx pré>

ici c'est sur 'Asia / kolkata' code> Timezone. P>

Selon votre question , Vous avez besoin d'UTC TimeZone à partir de ceci. P>

Donc, pour cela, vous devez d'abord localiser strong> que, ce jeu de données appartient à quel fuseau horaire? P>

Donc, Pour cela ..... p> xxx pré>

Il fera localiser fort> sur le nom de 'ASIA / KOLKATA' CODE>. P>

Sortie: STRT> P>

2019-02-02 06:02:46.484236+00:00    4
2019-02-03 06:02:46.484236+00:00    1
2019-02-04 06:02:46.484236+00:00    8
2019-02-05 06:02:46.484236+00:00    2
2019-02-06 06:02:46.484236+00:00    4
2019-02-07 06:02:46.484236+00:00    2
2019-02-08 06:02:46.484236+00:00    5
2019-02-09 06:02:46.484236+00:00    5
2019-02-10 06:02:46.484236+00:00    6
2019-02-11 06:02:46.484236+00:00    1


0 commentaires