我导入了一个包含混合数据格式的 CSV 文件 - 一些日期格式可被 read_csv 识别,加上一些 Excel 串行日期时间格式(例如 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]
最佳答案
经过进一步修改后,我找到了这个解决方案,使用 coerce = True 强制转换列数据类型,然后识别空值,我可以将这些空值交叉引用回原始文件。但如果有更好的方法(例如修复无法识别的时间戳)请告诉我。
df1['DateTime']=pd.to_datetime(df1['Time_Date'], errors='coerce')
nulls=df1['Time_Date'][df1['Time_Date'].notnull()==False]
关于python - 处理具有混合日期格式的 Pandas 数据框列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26920871/