Analyser une Pandas colonne de type Datetime

J'ai un DataFrame avec colonne nommée date. Comment peut-on convertir/analyser les 'date' colonne à une DateTime objet?

J'ai chargé la date de la colonne à partir d'une base de données Postgresql à l'aide de sql.read_frame(). Un exemple de la date colonne est 2013-04-04.

Ce que je suis en train de faire est de sélectionner toutes les lignes dans un dataframe qui a leur date de colonnes à l'intérieur d'une certaine période, comme après 2013-04-01 et avant 2013-04-04.

Ma tentative ci-dessous donne l'erreur 'Series' object has no attribute 'read'

Tentative

import dateutil

df['date'] = dateutil.parser.parse(df['date'])

Erreur

AttributeError                            Traceback (most recent call last)
<ipython-input-636-9b19aa5f989c> in <module>()
15 
16 # Parse 'Date' Column to Datetime
---> 17 df['date'] = dateutil.parser.parse(df['date'])
18 
19 # SELECT RECENT SALES
C:\Python27\lib\site-packages\dateutil\parser.pyc in parse(timestr, parserinfo, **kwargs)
695         return parser(parserinfo).parse(timestr, **kwargs)
696     else:
--> 697         return DEFAULTPARSER.parse(timestr, **kwargs)
698 
699 
C:\Python27\lib\site-packages\dateutil\parser.pyc in parse(self, timestr, default, ignoretz, tzinfos, **kwargs)
299             default = datetime.datetime.now().replace(hour=0, minute=0,
300                                                       second=0, microsecond=0)
--> 301         res = self._parse(timestr, **kwargs)
302         if res is None:
303             raise ValueError, "unknown string format"
C:\Python27\lib\site-packages\dateutil\parser.pyc in _parse(self, timestr, dayfirst, yearfirst, fuzzy)
347             yearfirst = info.yearfirst
348         res = self._result()
--> 349         l = _timelex.split(timestr)
350         try:
351 
C:\Python27\lib\site-packages\dateutil\parser.pyc in split(cls, s)
141 
142     def split(cls, s):
--> 143         return list(cls(s))
144     split = classmethod(split)
145 
C:\Python27\lib\site-packages\dateutil\parser.pyc in next(self)
135 
136     def next(self):
--> 137         token = self.get_token()
138         if token is None:
139             raise StopIteration
C:\Python27\lib\site-packages\dateutil\parser.pyc in get_token(self)
66                 nextchar = self.charstack.pop(0)
67             else:
---> 68                 nextchar = self.instream.read(1)
69                 while nextchar == '\x00':
70                     nextchar = self.instream.read(1)
AttributeError: 'Series' object has no attribute 'read'

df['date'].apply(dateutil.parser.parse) me donne l'erreur AttributeError: 'datetime.date' object has no attribute 'read'

df['date'].truncate(after='2013/04/01') donne l'erreur TypeError: can't compare datetime.datetime to long

df['date'].dtype retourne dtype('O'). Est-il déjà un datetime objet?

  • S'il vous plaît poster un exemple de quelque chose dans votre date colonne! Parce que les pandas devraient en fait reconnaître un objet datetime, de sorte qu'il serait utile de voir le format actuel pour cette colonne
  • J'ai chargé la date de la colonne à partir d'une base de données Postgresql à l'aide de sql.read_frame(). Un exemple de la date colonne est 2013-04-04. Comment voulez-vous vérifier pour la dtype d'une colonne?
  • df['date'].dtype retourne dtype('O')
InformationsquelleAutor Nyxynyx | 2013-05-07