我有一个生日如1990年10月10日的数据框。
由于任何方法均不适用于此列,因此我想将其转换为datetime
。它适用于第一日期列,但不适用于同一第二列。
我认为问题出在此列中的垃圾日期是问题,但我不知道如何清除它。
所以,我正在使用
data[4] = pd.to_datetime(data[4], infer_datetime_format=True)
data[4].hist()
而且一切都还好。但是,当我在第二列上做与第一列相同的操作时,出现错误:
ValueError:给定的日期字符串不太可能是日期时间。
我正在尝试使用以下方法查看本专栏:
isna().sum()
Firs one: 6
Second one: 13
str.isnumeric().value_counts()
give a True: 2.
我想知道在使用它之前如何清除列。
答案 0 :(得分:0)
您可以通过errors
data[4] = pd.to_datetime(data[4], errors='coerce',format='%m.%d%.%Y')
答案 1 :(得分:0)
默认错误kwarg
是'raise'而不是'ignore'。
尝试使用date[4] = pd.to_datetime(date[4], infer_datetime_format=True, errors="ignore")
或date[4] = pd.to_datetime(date[4], format='%d/%m/%Y', errors="ignore")
在上述情况下不起作用。
您可以在此处详细了解pandas.to_datetime()
from的不同论点。