Python pandas.to_datetime()为列返回不同的数据类型

Python pandas.to_datetime()为列返回不同的数据类型,python,pandas,Python,Pandas,我正在将一个表从CSV中读取到一个数据框bar,它有以下列,这些列是用字符串表示的日期时间 time_cols = ['created_at', 'updated_at', 'gcreated_at', 'gupdated_at', 'deleted_at'] 我把它改成了datetime for x in time_cols: bar[x] = pd.to_datetime(bar[x]) 然后,我尝试执行一些日期差异函数,结果遇到了问题,因此我检查了每个列的数据类型,发现 for

我正在将一个表从CSV中读取到一个数据框
bar
,它有以下列,这些列是用字符串表示的日期时间

time_cols = ['created_at', 'updated_at', 'gcreated_at', 'gupdated_at', 'deleted_at']
我把它改成了datetime

for x in time_cols:
    bar[x] = pd.to_datetime(bar[x])
然后,我尝试执行一些日期差异函数,结果遇到了问题,因此我检查了每个列的数据类型,发现

for col in time_cols:
    print col + " " + str(bar[col].dtype) + "\n"


created_at datetime64[ns]

updated_at datetime64[ns]

gcreated_at object

gupdated_at object

deleted_at datetime64[ns]
根据关于s/o的另一个问题,我也尝试了

bar.convert_objects(convert_dates='coerce',convert_numeric=True)
但是仍然有不匹配的数据类型

如何将这些
对象
数据类型强制为
datetime64[ns]
类型

created_at  updated_at  gcreated_at gupdated_at
2014-03-26 12:13:34 2014-03-30 01:11:09 2015-07-09 18:40:04.0   2015-07-09 18:40:04.0
2014-03-31 21:40:24 2014-04-02 07:58:11 2014-04-02 07:59:36.0   2014-04-02 07:59:36.0
2014-05-23 23:32:59 2014-05-25 05:52:56 2014-08-21 17:05:01.0   2014-08-21 17:05:01.0

你确定
gcreated_at
gupdated_at
datetime
可浇铸的吗?如果数据不敏感,你能显示
条形图头(5)
吗?抱歉--不确定如何很好地格式化它,但在看到它清晰地打印出来后添加到主Q中,我认为问题可能来自
.0
附加到g。。。这是我能想到的唯一问题。是否尝试删除尾随的
0
并重新运行代码?