2 votes

Quelle est la fonction Vaex pour analyser une chaîne de caractères en datetime64, qui est équivalente à pandas to_datetime, et qui permet un format personnalisé ?

J'ai une date sous forme de chaîne (exemple : 3/24/2020) que je voudrais convertir en datetime64[ns] format

df2['date'] = pd.to_datetime(df1["str_date"], format='%m/%d/%Y')

Utiliser les pandas to_datetime sur un cadre de données vaex entraînera une erreur :

ValueError: time data 'str_date' does not match format '%m/%d/%Y' (match)

J'ai vu peut-être question de duplication .

df2['pdate']=df2.date.astype('datetime64[ns]')

Cependant, la réponse est la coulée de type. Dans mon cas, il fallait transformer une chaîne de format ('%m/%d/%Y') parse en datetime64[ns] et non pas seulement le type de distribution.

Solution : faire une fonction personnalisée, alors .apply

2voto

Joey Gao Points 435

vaex peut utiliser apply pour les opérations sur les objets, vous pouvez donc utiliser la fonction datetime y np.datetime64 convertir chaque chaîne de date, puis l'appliquer.

import numpy as np
from datetime import datetime

def convert_to_datetime(date_string):
    return np.datetime64(datetime.strptime(str(date_string), "%Y%m%d%H%M%S"))

df['date']  = df.date.apply(convert_to_datetime)

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