【问题标题】:pandas.date_range with np.datetime returns error带有 np.datetime 的 pandas.date_range 返回错误
【发布时间】:2019-08-29 11:56:54
【问题描述】:
min_date = data['mie_time'][data['mie_time'] != np.datetime64('1970-01-01T00:00:00')].min() #numpy.datetime64('2019-01-01T05:44:05')

max_date = data['mie_time'].max() #numpy.datetime64('2019-01-01T07:14:35')

data['mie_datetime'] = pd.date_range(start=min_date, end=max_date, periods=len(data['mie_time'])).to_pydatetime().view(np.ma.MaskedArray)

当我尝试这段代码时,我得到了错误消息

ValueError:在三个参数中:开始、结束和句点,必须指定两个

有人知道是什么问题吗?

【问题讨论】:

  • 是的,我知道 - Of the three parameters: start, end, and periods, exactly two must be specified
  • 所以尝试删除endperiods参数
  • 请注意,pandas 最近更改了 API。在最新版本 (0.25.1) 中,您可以同时指定三个参数。如果@jezrael 的建议不适合您的用例,也许升级pandas 可能是一种选择?

标签: pandas parameters date-range


【解决方案1】:

如文档所述:

0.25.1 -- date_range

>>> pd.date_range(start='2018-04-24', end='2018-04-27', periods=3)
DatetimeIndex(['2018-04-24 00:00:00', '2018-04-25 12:00:00',
               '2018-04-27 00:00:00'],
              dtype='datetime64[ns]', freq=None)

0.22.1 -- 数据范围

文档清楚地说明了这一点: Of the three parameters: start, end, and periods, exactly two must be specified.

因此,如果您要使用periods,则可以选择升级到0.25.1

【讨论】:

    猜你喜欢
    • 2018-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    • 2013-12-13
    相关资源
    最近更新 更多