Maison > Article > développement back-end > Comment utiliser DateTime en Python
Toutes les données se voient automatiquement attribuer un « DOB » (Date de naissance) au début. Par conséquent, il est inévitable de rencontrer des données de date et d’heure lors du traitement des données à un moment donné. Ce didacticiel vous fera découvrir le module datetime en Python et l'utilisation de certaines bibliothèques périphériques telles que pandas et pytz.
En Python, tout ce qui concerne la date et l'heure est géré par le module datetime, qui divise en outre le module en 5 classes différentes. Les classes sont simplement des types de données qui correspondent à des objets. La figure ci-dessous résume les 5 classes datetime en Python ainsi que les propriétés et exemples couramment utilisés.
En raison de la nature alphanumérique des dates et des heures, l'analyse de dates et d'heures similaires en Python sera souvent interprétée comme des chaînes. Dans cette section, nous expliquerons comment analyser une liste de chaînes au format datetime et comment diviser et combiner les données de date et d'heure en colonnes individuelles dans un bloc de données.
Impression du fragment 1
Mais que se passe-t-il si la date/heure est formatée de manière inhabituelle ou ambiguë ? Une question courante est la différence entre la façon dont les dates-heures sont écrites aux États-Unis et en Europe ? Au format américain, le mois vient en premier, tandis qu'en style européen, le jour vient en premier.
Par défaut, to_datetime dans pandas convertit les objets en datetime en analysant le numéro précédent avec moins de 12 chiffres (
Alternativement, la méthode strftime() permet de formater la date/heure avant de renvoyer la chaîne. Dans l'exemple suivant, les tirets (-) entre la date et l'heure d'origine sont remplacés par des barres obliques inverses (/) et le mois numérique (02) est remplacé par le terme anglais abrégé (Feb).
Comme il existe de nombreuses façons d'interpréter les dates (jour, mois, année) et les heures (heures, minutes, secondes), il est crucial de comprendre les différents codes de format. Le tableau ci-dessous est un aide-mémoire pour les codes de format couramment utilisés.
Un objet datetime sans informations de fuseau horaire est appelé "naïf", et un objet avec des informations de fuseau horaire (généralement avec +HH:MM à la fin correspondant à GMT) est considéré comme "conscient". ". Probablement l'une des bibliothèques les plus complètes de Python, pytz simplifie la tâche de calcul des fuseaux horaires. L'extrait de code suivant vous montrera comment convertir entre des objets datetime « naïfs » et « conscients », et peut utiliser différents fuseaux horaires. La dernière partie du code montre également comment convertir l'objet datetime donné en fuseau horaire local. Cet exemple montre les codes de fuseau horaire pour le Japon et l'Allemagne, pour les autres régions que vous pouvez consulter ici.
Sortie du fragment 2
Parfois, nous devons comparer deux date/heure de manière conditionnelle. Imaginez que vous ayez deux trames de données, la première ne contient qu'une seule colonne datetime et la seconde contient deux colonnes représentant les intervalles et d'autres informations dans les colonnes restantes. Votre objectif est de trouver une date/heure correspondante à partir de la première trame de données si elle se situe dans l'intervalle de la deuxième trame de données, et si c'est le cas, de copier les autres colonnes.
Une façon d'y parvenir est de compresser l'intervalle de deux dates-heures à l'aide de pd.Interval, puis de les attribuer comme indices d'une trame de données qui peut ensuite être utilisée pour comparer et cartographier de manière conditionnelle les dates-heures. Cela peut être fait en utilisant une boucle for pour copier les colonnes d'intérêt si la condition de temps est remplie.
Texte original : https://towardsdatascience.com/how-to-work-with-datetime-in-python-26d4092dc484
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!