代码之家  ›  专栏  ›  技术社区  ›  iDrwish

为什么熊猫停止解析mm/dd/yyyy日期格式?

  •  1
  • iDrwish  · 技术社区  · 8 年前

    熊猫用来解析 datetime 然而,似乎它停止了解析 mm/dd/yyyy 作为日期格式。

    以下代码示例都返回 error parsing datetime string :

    案例1:

    import pandas as pd
    #to_datetime method
    pd.to_datetime(['05/05/2017', '11/13/2017'])
    

    案例2:

    #date_range
    longer_ts = pd.Series(np.random.randn(1000),
                          index=pd.date_range('1/1/2000', periods=1000))
    

    案例3:

    #Slicing a Series
    from datetime import datetime
    dates = [datetime(2011, 1, 2), datetime(2011, 1, 5)]
    ts = pd.Series(np.random.randn(2), index=dates)
    ts['01/05/2011']
    

    我知道我可以用 yyyy-mm-dd 或者我甚至可以使用 parse() 从…起 dateutil.parser

    顺便说一句,韦斯·麦金尼(WesMcKinney)在他关于熊猫的书中多次使用这种日期格式。

    为什么他们不再支持它?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Ami Tavory    8 年前

    来自以下文件: to_datetime 您可以看到有一个参数:

    格式:字符串,默认无。strftime用于分析时间,例如%d/%m/%Y,请注意%f将一直解析到纳秒。

    这很好,例如:

    >>> pd.to_datetime(['05/05/2017', '11/13/2017'], format='%m/%d/%Y')
    DatetimeIndex(['2017-05-05', '2017-11-13'], dtype='datetime64[ns]', freq=None)
    

    请注意,您在中有一个额外的空间 '11/ 13/2017'

    请注意,您可以将其用于 date_range 此外:

    pd.date_range(pd.to_datetime('05/03/2017'), periods=200)