Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.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_Pandas_Date - Fatal编程技术网

Python 如何均匀化数据框列中的日期类型?

Python 如何均匀化数据框列中的日期类型?,python,pandas,date,Python,Pandas,Date,我的数据框中有一个日期列,它有两种不同类型的日期(YYYY-DD-MM 00:00:00和YYYY-DD-MM): (复制上一个数据帧后,可以使用pd.read_剪贴板(sep='\s\s+')将其放入笔记本中) 我只想要YYYY-MM-DD类型。因此,我希望: Date 0 2023-10-01 1 2024-06-27 2 2022-04-07 3

我的数据框中有一个日期列,它有两种不同类型的日期(YYYY-DD-MM 00:00:00和YYYY-DD-MM):

(复制上一个数据帧后,可以使用pd.read_剪贴板(sep='\s\s+')将其放入笔记本中)

我只想要YYYY-MM-DD类型。因此,我希望:

                        Date
0                 2023-10-01
1                 2024-06-27
2                 2022-04-07
3                        NaN
4                 2020-06-30
我该怎么办?

与和
格式一起使用
参数:

df['Date'] = pd.to_datetime(df['Date'].str.replace(' 00:00:00',''), format='%Y-%d-%m')
print (df)

        Date
0 2023-10-01
1 2024-06-27
2 2022-04-07
3        NaT
4 2020-06-30
另一个与两种格式匹配的想法:

d1 = pd.to_datetime(df['Date'], format='%Y-%d-%m', errors='coerce')
d2 = pd.to_datetime(df['Date'], format='%Y-%d-%m 00:00:00', errors='coerce')

df['Date'] = d1.fillna(d2)
d1 = pd.to_datetime(df['Date'], format='%Y-%d-%m', errors='coerce')
d2 = pd.to_datetime(df['Date'], format='%Y-%d-%m 00:00:00', errors='coerce')

df['Date'] = d1.fillna(d2)