Comment extraire seulement le mois et le jour à partir d'un objet datetime?
J'ai essayé de faire un nuage de points, et mon axe x doit être chaque jour dans un an.
J'ai d'abord lu dans le fichier de données et obtenir la date de la colonne, qui sont remplis avec des entiers comme, 19800801. J'ai donc convertir cette integer
à datetime
par écrit:
datetimes_0 = datetime.strptime(str(dates_pitts[0]), '%Y%m%d')
Alors je veux extraire seulement le mois et le jour de l'objet datetime par écrit:
s = datetimes_0.strftime("%m%d")
J'ai réalisé qu'ils retournent à la valeur de strftime
n'est plus un objet datetime j'ai donc essayé de le reconvertir pour objet datetime en faisant
s0= datetime.strptime(s, '%m%d')
Mais au lieu de me donner seulement le mois et le jour, il me donne de nouveau l'ensemble de l'année, le mois et le jour.
Ma question est comment puis-je extraire un objet datetime seulement le mois et le jour(les deux) à partir d'un nombre entier donné comme 19800801?
- Vous souhaitez objet datetime de chaîne, OU voulez convertir en chaîne de type datetime?
- Je veux d'abord convertir l'entier 19800801 pour objet datetime, mais je n'ai besoin que le mois et le jour, 0801. Donc, fondamentalement, je veux un objet datetime qui ne contient que le mois et le jour, quelque chose comme 0801, mais ici 0801 n'est pas un entier, mais un objet datetime. Cela fait-il sens?
Vous devez vous connecter pour publier un commentaire.
Si vous essayez de tracer le temps en fonction des données de matplotlib, l'approche habituelle est d'abord de convertir vos dates en
datatime
objets, et puis obtenir matplotlib pour convertir ces valeurs dans sa propre représentation interne à l'aide de ladate2num()
fonction. Ensuite, vous pouvez dire matplotlib comment format des tiques sur l'axe des x à l'aide d'un formateur, dans ce cas, unDateFormatter()
. Ainsi, vous pouvez par exemple choisir d'afficher le mois et le jour de chaque tick.Dans cet exemple, j'affiche le mois, le jour, sur la ligne ci-dessous:
Ce serait l'affichage comme suit:
Vous pouvez ensuite étendre cette mesure à utiliser un
DayLocator()
qui raconte matplotlib pour placer le xticks à jour exact endroits comme suit:Vous donnant:
Cela va prendre un entier (en supposant que c'est une bonne époque) et de le convertir en un python objet datetime:
ou à l'aide de strftime (renvoie la chaîne de caractères et non un objet datetime):
de la sortie le mois et le jour comme un entier: