我已经导入了一个混合数据格式的CSV文件 - 一些由read_csv识别的日期格式,以及一些Excel serial-datetime格式(例如41,866.321)。
导入数据后,列类型显示为对象(给定不同类型的数据),日期(两种格式)都有dtype字符串。
我想使用to_datetime方法将识别的字符串日期格式转换为数据帧列中的日期时间,将未识别的字符串保留为excel格式,然后我可以隔离并离线校正。但除非我逐行应用该方法(方式太慢),否则无法执行此操作。
有没有人有更聪明的方法解决这个问题?
更新:我已经找到了更多的解决方案,我找到了这个解决方案,使用coerce = True强制列数据类型转换,然后识别空值,我可以交叉引用回原始文件。但如果有更好的方法(例如修复无法识别的时间戳),请告诉我。
df1['DateTime']=pd.to_datetime(df1['Time_Date'],coerce=True)
nulls=df1['Time_Date'][df1['Time_Date'].notnull()==False]
答案 0 :(得分:5)
我已经找到了更多的解决方案,我找到了这个解决方案,使用coerce = True强制进行列数据类型转换,然后识别空值,我可以交叉引用回原始文件。但如果有更好的方法(例如修复无法识别的时间戳),请告诉我。
df1['DateTime']=pd.to_datetime(df1['Time_Date'], errors='coerce')
nulls=df1['Time_Date'][df1['Time_Date'].notnull()==False]