web-dev-qa-db-fra.com

Comment extraire uniquement la date d'un python datetime?

J'ai une trame de données en python. L'une de ses colonnes est intitulée time, qui est un horodatage. En utilisant le code suivant, j'ai converti l'horodatage en datetime:

milestone['datetime'] = milestone.apply(lambda x: datetime.datetime.fromtimestamp(x['time']), axis = 1)

Maintenant, je veux séparer (tokenize) la date et l'heure et avoir deux colonnes différentes comme milestone['only_date'] et milestone['only_time']. Comment puis-je faire cela?

11
SZA

Pour ce faire, vous pouvez utiliser les méthodes date et time de la classe datetime:

>>> from datetime import datetime
>>> d = datetime.now()
>>> only_date, only_time = d.date(), d.time()
>>> only_date
datetime.date(2015, 11, 20)
>>> only_time
datetime.time(20, 39, 13, 105773)

Ici est la documentation datetime.

Appliqué à votre exemple, il peut donner quelque chose comme ceci:

>>> milestone["only_date"] = [d.date() for d in milestone["datetime"]]
>>> milestone["only_time"] = [d.time() for d in milestone["datetime"]]
19
julienc