我使用Jupyter Notebook,Pandas框架和Python作为编程语言。 我有一个数据帧,其形状如下(10500,4)。所以它有4列和10500条记录。 Initial_Date是4个列中的一个,它是一个Object数据类型。这是所含信息的类型:在Python中将Object数据类型的内容转换为Date数据类型
Initial_Date
1971
11969
102006
03051992
00131954
27001973
45061987
1996
这是很容易辨认出列DDMMYYYY的格式(03051992是第3次1992年5月)
注:正如你可以看到有无效MM(00和13)和无效DD(00和45)。
我想使用正则表达式来提取任何可用的字段。我不知道如何分别阅读YYYY到MM或DD,所以请在这里给我启发。提取后,我想测试YYYY,DD和MM是否有效。如果其中任何一个都无效,则分配NaT否则为DD-MM-YYYY或DD/MM/YYYY(不要与最终格式混淆)。
例如: 051992因为这成为被视为无效DD/05/1992
具有完全8位数字,例如10081996被认为是有效1996年10月8日
PS的字段。我开始使用熊猫,Jupyter笔记本,并放慢了恢复我的Python技能。仅供参考如果你们认为有更好的方法将每个字段转换为有效的日期数据类型,那么请启发我。
非常感谢MaxU!对延迟答复抱歉。除了我需要将格式从%m%d%Y更改为%d%m%Y – Timetraveller
@Timetraveller,我总是很乐意提供帮助!感谢您接受答案! – MaxU