Python 从CSV导入格式转换日期时间错误

Python 从CSV导入格式转换日期时间错误,python,pandas,dataframe,datetime,Python,Pandas,Dataframe,Datetime,我已使用read_CSV导入了一个CSV文件。我感兴趣的CSV列中的原始数据以如下格式记录日期: 19/01/2012 9:00:00 AM 但是,在导入数据时,它显示为: 2005-03-21 10:30:00 不知道为什么会这样。最后,我感兴趣的是提取日期(2012年1月19日),并使用它计算与列中最早日期不同的天数。类似于 df['date_column'] = (df['date_column'] - df['date_column'].min()) 我尝试了几件事,首先: df

我已使用read_CSV导入了一个CSV文件。我感兴趣的CSV列中的原始数据以如下格式记录日期:

19/01/2012  9:00:00 AM
但是,在导入数据时,它显示为:

2005-03-21 10:30:00
不知道为什么会这样。最后,我感兴趣的是提取日期(2012年1月19日),并使用它计算与列中最早日期不同的天数。类似于

df['date_column'] = (df['date_column'] - df['date_column'].min())
我尝试了几件事,首先:

df['date_column'] = pd.to_datetime(df['date_column'], dayfirst=True)
这将返回与上面所示相同的日期格式。即
2005-03-2110:30:00

第二次尝试是尝试

df['date_column'] = pd.to_datetime(df['date_column'], format ='%d-%m-%y %I:%M:%S %p')
这给了我错误

ValueError:时间数据“2004-03-16 11:40:00”与格式“%d-%m-%y%I:%m:%S%p”不匹配(匹配)

我已经尝试了以上几个小的变化。我正在使用运行Python3.7.1的JupyterV5.7.4


如果您有任何建议/帮助,我将不胜感激!谢谢。

我认为在
read\u csv
中,
date\u列
已经转换为日期时间,因此不需要转换为日期

如果减去最小值得到不同格式的时间增量:

rng = pd.date_range('2017-04-03 15:12:10', periods=10, freq='23Min')
df = pd.DataFrame({'date_column': rng})  

df['diff'] = (df['date_column'] - df['date_column'].min())
如果neded datetime为原始格式,请使用:


我认为在
read\u csv
中,是
date\u列
列已经转换为datetimes,所以转换为日期是没有必要的

如果减去最小值得到不同格式的时间增量:

rng = pd.date_range('2017-04-03 15:12:10', periods=10, freq='23Min')
df = pd.DataFrame({'date_column': rng})  

df['diff'] = (df['date_column'] - df['date_column'].min())
如果neded datetime为原始格式,请使用:


我认为只有将日期转换为一天,才能计算日差:

import datetime as dt

df['date_column'] = (df['date_column'] - df['date_column'].min()).dt.days

我认为只有将日期转换为一天,才能计算日差:

import datetime as dt

df['date_column'] = (df['date_column'] - df['date_column'].min()).dt.days

strftime的例子很有帮助。但主要的问题是,当我读入数据时,发生了一些事情。日期从2012年更改为2005年。不知道发生了什么事。但是谢谢你看我的问题。非常感谢。strftime的例子很有帮助。但主要的问题是,当我读入数据时,发生了一些事情。日期从2012年更改为2005年。不知道发生了什么事。但是谢谢你看我的问题。非常感谢。感谢您查看此问题。不过,当我读入数据时,仍然出现了一些问题。感谢您查看这个问题。不过,当我读入数据时,仍然有一些问题。