python - 处理具有混合日期格式的 Pandas 数据框列

标签 python datetime csv pandas

我导入了一个包含混合数据格式的 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/

相关文章:

用于教学的 Python IDE?

python - FastAPI - 支持多个身份验证依赖项

Python - 使用 Pandas 将 JSON 转换为 CSV

linux - 如何使用 linux 将大型 csv 拆分为多个小型 csv?

python - Anaconda OpenCV Arch Linux libselinux.so 错误

python - 如何将 BeautifulSoup 标签转换为 JSON?

sql - 在 Ruby on Rails/Postgresql 中查找多个连续日期(日期时间)

ruby-on-rails - Rails 时间格式化测试失败是因为它休息了一小时?

MySQL Datetime - 差距识别

python - pandas 中的 .read_csv() 无法正确读取转义字符