【发布时间】:2016-09-27 09:06:23
【问题描述】:
我使用 Jupyter Notebook、Pandas 框架和 Python 作为编程语言。 我有一个具有以下形状的数据框 (10500, 4)。所以它有 4 列和 10500 条记录。 Initial_Date 是对象数据类型的 4 列之一。这是它包含的信息类型:
Initial_Date
1971
11969
102006
03051992
00131954
27001973
45061987
1996
很容易将列的格式确定为 DDMMYYYY(03051992 是 1992 年 5 月 3 日)
注意:如您所见,有invalid MM(00 和13)和invalid DD(00 和45)。 p>
我想使用正则表达式来提取该字段中可用的任何内容。我不知道如何分别阅读 YYYY 到 MM 或 DD,所以请在此赐教。提取发生后,我想测试一下 YYYY、DD 和 MM 是否有效。如果其中任何一个无效,则分配 NaT,否则分配 DD-MM-YYYY 或 DD/MM/YYYY(不要对结束格式挑剔)。
例如: 051992 被视为无效,因为它变成了 DD/05/1992
包含完整 8 位数字的字段,例如 10081996 被视为有效 10/08/1996
附言。我开始使用 Pandas、Jupyter notebook 并放慢恢复我的 Python 技能。仅供参考,如果你们认为有更好的方法将每个字段转换为有效的 Date 数据类型,那么请赐教。
【问题讨论】:
标签: python date pandas type-conversion jupyter