web-dev-qa-db-fra.com

Comment définir une variable comme étant la date du jour en Python/Pandas

J'essaie de définir une variable égale à la date d'aujourd'hui.

J'ai examiné cela et trouvé un article connexe:

Définir la date du jour comme valeur par défaut dans le modèle

Cependant, cela ne répondait pas particulièrement à ma question.

J'ai utilisé le suggéré:

dt.date.today

Mais après 

import datetime as dt     
date = dt.date.today
print date
 <built-in method today of type object at 0x000000001E2658B0>

 Df['Date'] = date

Je n'ai pas obtenu ce que je voulais réellement: un format de date propre à la date d'aujourd'hui ... en mois/jour/année.

Comment puis-je créer une variable de la journée du jour afin de pouvoir saisir cette variable dans un DataFrame?

26
Alexis

Vous dites que vous utilisez des pandas (dans votre titre). Si c'est le cas, il n'est pas nécessaire d'utiliser une bibliothèque externe, vous pouvez simplement utiliser to_datetime

>>> pandas.to_datetime('today')
Timestamp('2015-10-14 00:00:00')

Cela retournera toujours la date d'aujourd'hui à minuit, quelle que soit l'heure réelle (mais devinez ce que l'argument now fera) 

53
dirkjot

Si vous voulez une chaîne mm/dd/yyyy au lieu de l'objet datetime, vous pouvez utiliser strftime (heure du format de chaîne):

>>> dt.datetime.today().strftime("%m/%d/%Y")
                   # ^ note parentheses
'02/12/2014'
39
jonrsharpe

Utilisation de pandas: pd.Timestamp("today").strftime("%m/%d/%Y")

5
Cole Diamond

j'ai eu le même problème, j'ai donc essayé tellement de choses.

import time 

print (time.strftime("%d/%m/%Y"))
3
ashokdhudla
import datetime
def today_date():
    '''
    utils:
    get the datetime of today
    '''
    date=datetime.datetime.now().date()
    date=pd.to_datetime(date)
    return date
Df['Date'] = today_date()

cela pourrait être utilisé en toute sécurité dans les cadres de données de pandas.

2
Qijun Liu

Solution facile en Python3 +:

import time


todaysdate = time.strftime("%d/%m/%Y")

#with '.' isntead of '/'
todaysdate = time.strftime("%d.%m.%Y")
2
Ghostali

pd.datetime.now (). strftime ("% d /% m /% Y")

cela donnera une sortie comme '11/02/2019 '

vous pouvez utiliser ajouter du temps si vous voulez 

pd.datetime.now (). strftime ("% d /% m /% Y% I:% M:% S")

cela donnera une sortie comme '11/02/2019 11:08:26 '

formats strftime

1
sukesh kamath

Vous pouvez également consulter pandas.Timestamp, qui inclut des méthodes telles que .now et .today. Contrairement à pandas.to_datetime('now'), pandas.Timestamp.now() ne sera pas défini par défaut sur UTC

  import pandas as pd

  pd.Timestamp.now() # will return California time
  # Timestamp('2018-12-19 09:17:07.693648')

  pd.to_datetime('now') # will return UTC time
  # Timestamp('2018-12-19 17:17:08')
0
Jared Wilber