我已经导入了一个具有混合数据格式的CSV文件-一些read_csv可以识别的日期格式,以及一些Excel序列日期时间格式(例如41866.321)。
导入数据后,列类型显示为对象(给定不同类型的数据),日期(两种类型的格式)都具有dtype字符串。
我想使用to_datetime方法将可识别的字符串日期格式转换为dataframe列中的datetime,将无法识别的字符串保留为excel格式,然后我可以隔离并更正离线。但是除非我逐行应用该方法(速度太慢),否则它将无法执行此操作。
有谁有解决这个问题的聪明方法?
更新:进行了一些修改后,我找到了这个解决方案,使用coerce = True强制进行列数据类型转换,然后确定可以交叉引用回原始文件的空值。但是,如果有更好的方法(例如,将无法识别的时间戳固定到位),请告诉我。
df1['DateTime']=pd.to_datetime(df1['Time_Date'],coerce=True)
nulls=df1['Time_Date'][df1['Time_Date'].notnull()==False]
进行了一些修改之后,我发现了此解决方案,使用coerce = True强制进行列数据类型转换,然后标识空值,我可以将其交叉引用回原始文件。但是,如果有更好的方法(例如,将无法识别的时间戳固定到位),请告诉我。
df1['DateTime']=pd.to_datetime(df1['Time_Date'], errors='coerce')
nulls=df1['Time_Date'][df1['Time_Date'].notnull()==False]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句