有一个 DataFrame,其中年份表示为浮点数据类型。它必须转换为年份格式的日期数据类型,例如 - 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)
如果我正确理解了这个问题:
结果: