首页 > 解决方案 > 如何在函数中使用 pd.DatetimeIndex

问题描述

我在 pandas 列中有一些 datetime64[ns] 数据

datetime = pd.date_range(start=pd.datetime(2020, 2, 11, 2, 17), periods=20, freq=pd.DateOffset(seconds=1))

df= pd.DataFrame(datetime,columns=['datetime'])

我想创建一个将其转换为朱利安日的列,这在 Pandas 中有效

df['julianday1'] = pd.DatetimeIndex(df['datetime']).to_julian_date()

但是-我想这样做(然后更多)并将其嵌入到函数中

def jday(dtinput=None):
    return pd.DatetimeIndex(dtinput).to_julian_date()

当我调用函数时:

df['julianday2'] = np.vectorize(jday)(dtinput=df['datetime'])

我收到错误消息:

TypeError: DatetimeIndex() must be called with a collection of some kind, numpy.datetime64('2020-02-11T02:17:00.000000000') was passed

我在这里做错了什么?

谢谢

标签: pandasdatetimevectorization

解决方案


推荐阅读