В Pandas как преобразовать строку строк даты в объекты datetime и поместить их в DataFrame?

import pandas as pd date_stngs = ('2008-12-20','2008-12-21','2008-12-22','2008-12-23') a = pd.Series(range(4),index = (range(4))) for idx, date in enumerate(date_stngs): a[idx]= pd.to_datetime(date) 

Этот бит кода вызывает ошибку:

TypeError: «Объект« int »не является итерируемым»

Может ли кто-нибудь сказать мне, как получить эту серию строк времени даты в DataFrame в качестве объектов DateTime ?

  • Декоратор Python с флягой
  • Python Pandas преобразует тип данных столбца
  • FreqDist с NLTK
  • Как запустить оболочку в отдельном процессе и получить автоматическое завершение? (Python)
  • Почему этот словарь python создается не по порядку с помощью setdefault ()?
  • Чтение файла с сервера с помощью ssh с использованием python
  • Сократите колонку `TimeStamp` до точности часов в pandas` DataFrame`
  • Асинхронный вызов метода в Python?
  • 2 Solutions collect form web for “В Pandas как преобразовать строку строк даты в объекты datetime и поместить их в DataFrame?”

     >>> import pandas as pd >>> date_stngs = ('2008-12-20','2008-12-21','2008-12-22','2008-12-23') >>> a = pd.Series([pd.to_datetime(date) for date in date_stngs]) >>> a 0 2008-12-20 00:00:00 1 2008-12-21 00:00:00 2 2008-12-22 00:00:00 3 2008-12-23 00:00:00 

    ОБНОВИТЬ

    Используйте pandas.to_datetime (pd.Series (..)). Это кратким и намного быстрее, чем код выше.

     >>> pd.to_datetime(pd.Series(date_stngs)) 0 2008-12-20 00:00:00 1 2008-12-21 00:00:00 2 2008-12-22 00:00:00 3 2008-12-23 00:00:00 
     In [46]: pd.to_datetime(pd.Series(date_stngs)) Out[46]: 0 2008-12-20 00:00:00 1 2008-12-21 00:00:00 2 2008-12-22 00:00:00 3 2008-12-23 00:00:00 dtype: datetime64[ns] 

    Обновление: контрольный

     In [43]: dates = [(dt.datetime(1960, 1, 1)+dt.timedelta(days=i)).date().isoformat() for i in range(20000)] In [44]: timeit pd.Series([pd.to_datetime(date) for date in dates]) 1 loops, best of 3: 1.71 s per loop In [45]: timeit pd.to_datetime(pd.Series(dates)) 100 loops, best of 3: 5.71 ms per loop 
    Python - лучший язык программирования в мире.