Python-ValueError:未转换的数据保留:00

问题描述 投票:1回答:1

我正在使用pd.to_datetime()方法将一列字符串转换为datetime对象。

> import pandas as pd import numpy as np
> 
> main = pd.read_csv('correctedstats.csv', nrows = 50) main['Date'] =
> pd.to_datetime(main['Date'], format = '%d/%m/%y')

哪个给我以下错误-

追踪(最近一次通话):文件“ /Users/pranavmarla/jama/lib/python3.6/site-packages/pandas/core/tools/datetimes.py”,第448行,在_convert_listlike_datetimes中值,tz = conversion.datetime_to_datetime64(arg)文件“ pandas / _libs / tslibs / conversion.pyx”,第200行,在pandas._libs.tslibs.conversion.datetime_to_datetime64 TypeError:无法识别的值类型:

在处理以上异常期间,发生了另一个异常:

追踪(最近一次通话):文件“ mergeDates.py”,第8行,在main ['Date'] = pd.to_datetime(main ['Date']。astype(str),format ='%d /%m /%y')文件“ /Users/pranavmarla/jama/lib/python3.6/site-packages/pandas/util/_decorators.py”,包装中的第208行返回func(* args,** kwargs)文件“ /Users/pranavmarla/jama/lib/python3.6/site-packages/pandas/core/tools/datetimes.py”,778行,在to_datetime值= convert_listlike(arg._values,True,格式)文件“ /Users/pranavmarla/jama/lib/python3.6/site-packages/pandas/core/tools/datetimes.py”,第451行,在_convert_listlike_datetimes中提高文件“ /Users/pranavmarla/jama/lib/python3.6/site-packages/pandas/core/tools/datetimes.py”,_convert_listlike_datetimes中的第416行arg,格式,确切=精确,错误=错误文件“ pandas / _libs / tslibs / strptime.pyx”,第148行,在pandas._libs.tslibs.strptime.array_strptime ValueError:未转换数据保留:00

日期的格式为'03 / 01/00'

如果我们通过以下方式将日期文本输入到函数中,则代码运行良好

pd.to_datetime('03/01/00', format = '%d/%m/%y')

我在这里做错了什么?

编辑-companystats.csv-

0          1.0             34.0  Asian Paints        15.90  INE021A01026    03/01/00
1          2.0             34.0  Asian Paints        16.06  INE021A01026    04/01/00
2          3.0             34.0  Asian Paints        15.96  INE021A01026    05/01/00
3          4.0             34.0  Asian Paints        15.73  INE021A01026    06/01/00
4          5.0             34.0  Asian Paints        16.07  INE021A01026    07/01/00
5          6.0             34.0  Asian Paints        17.29  INE021A01026    10/01/00
6          7.0             34.0  Asian Paints        17.30  INE021A01026    11/01/00
7          8.0             34.0  Asian Paints        17.40  INE021A01026    12/01/00
8          9.0             34.0  Asian Paints        17.45  INE021A01026  13/01/2000
9         10.0             34.0  Asian Paints        17.08  INE021A01026  14/01/2000
10        11.0             34.0  Asian Paints        17.14  INE021A01026  17/01/2000
11        12.0             34.0  Asian Paints        17.25  INE021A01026  18/01/2000
12        13.0             34.0  Asian Paints        17.47  INE021A01026  19/01/2000
13        14.0             34.0  Asian Paints        17.52  INE021A01026  20/01/2000
14        15.0             34.0  Asian Paints        17.74  INE021A01026  21/01/2000
15        16.0             34.0  Asian Paints        19.10  INE021A01026  24/01/2000
16        17.0             34.0  Asian Paints        20.61  INE021A01026  25/01/2000
17        18.0             34.0  Asian Paints        19.71  INE021A01026  27/01/2000
18        19.0             34.0  Asian Paints        20.03  INE021A01026  28/01/2000
19        20.0             34.0  Asian Paints        19.19  INE021A01026  31/01/2000
20        21.0             34.0  Asian Paints        19.18  INE021A01026    01/02/00
21        22.0             34.0  Asian Paints        19.17  INE021A01026    02/02/00
22        23.0             34.0  Asian Paints        19.00  INE021A01026    03/02/00
23        24.0             34.0  Asian Paints        19.03  INE021A01026    04/02/00
python pandas datetime
1个回答
0
投票

尝试将infer_datetime_format传递为true,这可能是因为您的数据中的日期未采用传递的格式

pd.to_datetime(df['Date'], infer_datetime_format=True) 

或通过错误='忽略'

pd.to_datetime(df['Date'], format = '%d/%m/%y',errors='ignore')
© www.soinside.com 2019 - 2024. All rights reserved.