我想知道如何解决与熊猫不一致的数据格式问题。最初我使用正则表达式从大型网址数据集中提取日期。这很有效但是提取日期中的日期格式不一致:
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
答案 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
会将任何无法转换为NaT
或errors='raise'
的值设置为报告任何问题。