使用pandas格式化不一致的日期数据

时间:2015-04-08 13:50:47

标签: python datetime pandas

我想知道如何解决与熊猫不一致的数据格式问题。最初我使用正则表达式从大型网址数据集中提取日期。这很有效但是提取日期中的日期格式不一致:

dates
20140609
20140624
20140404
3/18/14
3/10/14
3/14/2014
20140807
20140806
2014-07-18

正如您所看到的,此数据集中的日期数据格式不一致。有没有办法修复这种格式,以便所有日期都具有相同的格式?

df.info()

<class 'pandas.core.frame.DataFrame'>
Int64Index: 122270 entries, 0 to 122269
Data columns (total 4 columns):
id                  119534 non-null float64
x1                  122270 non-null int64
url                 122270 non-null object
date                122025 non-null object
dtypes: float64(1), int64(1), object(2)
memory usage: 4.7+ MB

1 个答案:

答案 0 :(得分:2)

使用to_datetime看起来男人/女人足以处理不一致的格式:

In [77]:

df['dates'] = pd.to_datetime(df['dates'])
df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 9 entries, 0 to 8
Data columns (total 1 columns):
dates    9 non-null datetime64[ns]
dtypes: datetime64[ns](1)
memory usage: 144.0 bytes
In [78]:

df
Out[78]:
       dates
0 2014-06-09
1 2014-06-24
2 2014-04-04
3 2014-03-18
4 2014-03-10
5 2014-03-14
6 2014-08-07
7 2014-08-06
8 2014-07-18

对于您的示例数据集to_datetime工作正常,如果它不适合您,那将是因为您有一些无法转换的格式,您可以设置参数coerce=True会将任何无法转换为NaTerrors='raise'的值设置为报告任何问题。