【问题标题】:Parse date in pandas with unit='D'使用 unit=\'D\' 解析 pandas 中的日期
【发布时间】:2022-12-04 08:00:06
【问题描述】:

这有什么问题?

pd.to_datetime('2022-01-01',unit='D')

如果我在没有单位的情况下这样做

pd.to_datetime('2022-01-01')

没有出现错误。然而,代替标准单位ns我更想要D

【问题讨论】:

    标签: python pandas parsing timestamp


    【解决方案1】:

    代码中的错误是 pd.to_datetime() 函数的 unit 参数需要一个表示时间单位的字符串,但您已将整数值“D”传递给它。在这种情况下,该函数将尝试将整数值解释为字符串并将引发 TypeError,因为它无法将整数转换为有效的时间单位。

    要修复此错误,您需要向 unit 参数传递一个字符串值而不是整数。例如,您可以使用以下代码指定 D 时间单位:

    pd.to_datetime('2022-01-01',unit='D')
    

    或者您可以使用“天”字符串来指定相同的时间单位:

    pd.to_datetime('2022-01-01',unit='days')
    

    无论哪种情况,pd.to_datetime() 函数都会正确解释时间单位并将日期字符串转换为日期时间对象。值得注意的是,pd.to_datetime() 函数的默认时间单位是'ns',代表纳秒,所以如果你不指定时间单位,函数将使用这个默认值。

    【讨论】:

      【解决方案2】:

      问题是 pandas.to_datetime() 函数中的 unit 参数指定了输入日期/时间数据的单位,而不是输出格式。

      要指定生成的日期时间对象的输出格式,您可以改用格式参数。

      dt = pd.to_datetime('2022-01-01', format='%Y-%m-%d')
      

      【讨论】:

        猜你喜欢
        • 2021-02-07
        • 2016-09-04
        • 2023-03-17
        • 2017-12-18
        • 2019-10-05
        • 1970-01-01
        • 2015-09-01
        • 2019-11-21
        • 1970-01-01
        相关资源
        最近更新 更多