2 votes

Convertir DateTime en jour séquentiel de l'année

J'ai un dataframe qui contient une série de dates, par exemple :

0    2014-06-17
1    2014-05-05
2    2014-01-07
3    2014-06-29
4    2014-03-15
5    2014-06-06
7    2014-01-29

Maintenant, j'ai besoin d'un moyen de convertir ces dates en jours séquentiels de l'année, par exemple

0    168
1    125
2    7
3    180
4    74
5    157
7    29

Toutes les valeurs sont dans la même année. Le problème inverse a été posé de nombreuses fois - convertir le jour séquentiel de l'année en date, mais je dois faire l'inverse. Y a-t-il un moyen facile de le faire avec Pandas? Merci!

EDIT : Répondu par piRSquared. Merci!

3voto

piRSquared Points 159

Option 1
time-date-components
Lien de @root
Utilisez dt.dayofyear

df.iloc[:, 0].dt.dayofyear

0    168
1    125
2      7
3    180
4     74
5    157
7     29
Name: 1, dtype: int64

Option 2
strftime.org
Utilisez dt.strftime('%-j')

df.iloc[:, 0].dt.strftime('%-j')

0    168
1    125
2      7
3    180
4     74
5    157
7     29
Name: 1, dtype: object

-1voto

Shubham Yeole Points 26

Oui, je l'ai fait. Veuillez consulter mon code ci-dessous.

Capture d'écran de mon RÉSULTAT

Étape 1 : Créez un tableau de type String et ajoutez des dates au format chaîne de caractères.

Étape 2 : Utilisez une boucle for car vous avez plusieurs dates.

Étape 3 : Convertissez une chaîne en format Date.

Étape 4 : Convertissez une Date en format LocalDate.

Étape 5 : Utilisez la fonction intégrée getDatOfYear() pour obtenir le jour séquentiel de l'année.

package test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.*;

public class ShubhamDateClass{
    public static void main(String[] args) {
        SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
        String[] dateForTest = {"17-JUN-2014","05-MAY-2014","07-JAN-2017","20-JUN-2014","15-MAR-2014", "6-JUN-2014", "29-JAN-2014"};
        for(int i=0;i

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X