Как тип данных float привести к date в формате "год"?

Есть DataFrame, в котором год представлен как тип данных float. Необходимо привести к типу данных date в формате "год", например - 2006-01-01.

0        2006.0
1        1985.0
2        2008.0
3        2009.0
4        1996.0

Пробовал через:

data['year_of_release'] = pd.to_datetime(data['year_of_release'], format='%d.%m.%Y %H:%M:%S')

Выходит следующая ошибка:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/pandas/core/tools/datetimes.py in _convert_listlike_datetimes(arg, format, name, tz, unit, errors, infer_datetime_format, dayfirst, yearfirst, exact)
    431             try:
--> 432                 values, tz = conversion.datetime_to_datetime64(arg)
    433                 return DatetimeIndex._simple_new(values, name=name, tz=tz)

pandas/_libs/tslibs/conversion.pyx in pandas._libs.tslibs.conversion.datetime_to_datetime64()

TypeError: Unrecognized value type: <class 'int'>

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
4 frames
/usr/local/lib/python3.6/dist-packages/pandas/core/tools/datetimes.py in _convert_listlike_datetimes(arg, format, name, tz, unit, errors, infer_datetime_format, dayfirst, yearfirst, exact)
    398                 try:
    399                     result, timezones = array_strptime(
--> 400                         arg, format, exact=exact, errors=errors
    401                     )
    402                     if "%Z" in format or "%z" in format:

pandas/_libs/tslibs/strptime.pyx in pandas._libs.tslibs.strptime.array_strptime()

ValueError: time data '2006' does not match format '%d.%m.%Y %H:%M:%S' (match)

Ответы (1 шт):

Автор решения: MaxU

если я правильно понял вопрос:

df["year_of_release"] = pd.to_datetime(df["year_of_release"].astype(int).astype(str) + "-01-01")

результат:

In [208]: df
Out[208]:
  year_of_release
0      2006-01-01
1      1985-01-01
2      2008-01-01
3      2009-01-01
4      1996-01-01
→ Ссылка