Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫中日期格式不一致的计数_Python_Date - Fatal编程技术网

Python 熊猫中日期格式不一致的计数

Python 熊猫中日期格式不一致的计数,python,date,Python,Date,我有一个object类型的列,它包含500行日期。我将列类型转换为date,并试图获得错误值的计数,以便修复它们 在列的示例中,您可以在第3行和第5行中看到错误值的示例 0 2018-06-14 1 2018-11-12 2 2018-10-09 3 2018-24-08 4 2018-11-12 5 11-02-2018 6 2018-12-31 如果我使用以下代码,我可以确定日期: dirtyData['date'] =

我有一个
object
类型的列,它包含500行日期。我将列类型转换为
date
,并试图获得错误值的计数,以便修复它们

在列的示例中,您可以在第3行和第5行中看到错误值的示例

0      2018-06-14
1      2018-11-12
2      2018-10-09
3      2018-24-08
4      2018-11-12
5      11-02-2018
6      2018-12-31
如果我使用以下代码,我可以确定日期:

dirtyData['date'] = pd.to_datetime(dirtyData['date'],dayfirst=True)
但是我想检查每一行的格式是否为
%Y-%m-%d'
,并首先获取不一致格式的计数。然后更改值


有可能实现这一点吗?

下面的代码可以工作。然而,正如迈克尔·加德纳所提到的,如果一天不超过12天,它将无法区分天和月

import datetime
import pandas as pd

date_list = ["2018-06-14", "2018-11-12", "2018-10-09", "2018-24-08",
"2018-11-12", "11-02-2018", "2018-12-31"]

series1 = pd.Series(date_list)
print(series1)
#The above code is to replicate your date series


count = 0
for item in series1:
    try:
        datetime.datetime.strptime(item, "%Y-%m-%d") #checks if the date format is Year, Month,Day.
    except ValueError: #if there is a value error then it will count these errors
        count += 1 

print(count)

我不认为有任何方法可以区分y/m/d和y/d/m,除非日期大于12。