Python pandas.to_datetime()为列返回不同的数据类型
我正在将一个表从CSV中读取到一个数据框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
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
并重新运行代码?