使用mm-dd-YY&amp ;;处理日期大熊猫

时间:2016-10-04 06:48:07

标签: python date datetime

我正在尝试对熊猫功能进行简单的测试来处理日期和时间。格式。 为此我创建了一个数据框,其值如下所示。 :

df = pd.DataFrame({'date1' : ['10-11-11','12-11-12','10-10-10','12-11-11',
                      '12-12-12','11-12-11','11-11-11']})

这里我假设值是日期。我正在使用pandas的to_datetime函数将其转换为正确的格式。

df['format_date1'] = pd.to_datetime(df['date1'])
print(df)

Out[3]:
      date1 format_date1
0  10-11-11   2011-10-11
1  12-11-12   2012-12-11
2  10-10-10   2010-10-10
3  12-11-11   2011-12-11
4  12-12-12   2012-12-12
5  11-12-11   2011-11-12
6  11-11-11   2011-11-11

在这里,Pandas将数据帧的日期读作“MM / DD / YY”并以原生格式(即YYYY / MM / DD)进行转换。我想检查Pandas是否可以接受我的输入,表明日期格式实际上是“YY / MM / DD”,然后让它转换为其原生格式。这将更改行号的值:5。为此,我运行以下代码。但它给了我一个错误。

df3['format_date2'] = pd.to_datetime(df3['date1'], format='%Y/%m/%d')

ValueError: time data '10-10-10' does not match format '%Y/%m/%d' (match)

我见过那种解决方案here。但我希望得到一个简单明了的答案。

1 个答案:

答案 0 :(得分:2)

格式说明符中的

%Y采用4位数年份(即2016年)。 %y取2位数年份(即16岁,即2016年)。将%Y更改为%y,它应该有效。

格式说明符中的破折号也不存在。您需要将格式更改为%y-%m-%d