【发布时间】:2020-07-04 23:38:19
【问题描述】:
我有一个名为已发布(日期)的专栏。如您所见,它有多种日期格式和 nan 值。我想跳过 nan 值,将所有其他格式转换为 %Y-%-%d,并忽略具有唯一年份的格式。
我试过 df['publish_time']=pd.to_datetime(df['publish_time']) 还有类似的东西:
fmt=['%Y-%m-%d', '%d-%m-%Y', '%d/%m/%Y',
'%Y-%d-%m', '%Y-%d-%b', '%d-%b-%Y', '%d/%b/%Y','Year: %d; month','month:
%d;Year','%Y','%b %d %Y','%b %Y %d']
但我无法解决它。有什么建议?谢谢!
这是那一栏:
published
2014 Jul 22
2003 Aug
2019 Nov 26
2012-12-07
2020 Jan 21
2015-01-01
2010-11-30
2007-05-10
2020
2012-02-29
2016 Apr 19
2006-12-31
2013 Jun 27
2019 Jun 19
2015 Jun 12
2006 Jun-Dec
2006-07-31
nan
2017-04-15
2016 May 22
2020 Feb
2017 May 6
2020 Mar 11
2013-04-30
2020-03-07
nan
2018
【问题讨论】:
-
理想情况下,应该在达到这一点之前解决这个问题;当你最终得到这种脏数据时,回过头来弄清楚如何在摄取时清理它通常是正确的方法(如果这一切都来自单一来源,则丢弃它们,如果它们是向您收费,是时候要求您退款了)。此时,您应该预期 y/d/m、y/m/d 和可能的其他格式的转换结果不正确,并且您有太多毫无意义的数据……真的,回顾一下链并尝试修复出现的问题。