如何使用RelativedElta计算日期之间几个月的差异



我正在尝试在我的数据框架中添加一个新列,并希望它返回两个日期之间的几个月差异,这两个日期中的两个列是其他两个列中。

到目前为止,我已经尝试了几种方法,包括:

  • 简单地减去日期,然后除以360
    df['TimeInJob'] = (df['OrderDate'] - df['HireDate'] / 360)
  • to_timedelta方法和不同的参数设置
  • 我尝试了这个,但不确定它们使用的变量:

for i in df.index: df.at[i, 'diff'] = relativedelta.relativedelta(df.ix[i, 'start'], df.ix[i, 'end'])

这是我的最新尝试:

from dateutil.relativedelta import relativedelta

df['MonthsInJob'] = relativedelta(qf['OrderDate'], df['HireDate'])

但获取错误消息:" ValueError:系列的真实价值是模棱两可的。使用A.Empty,A.Bool((,A.Item((,a.any((,A.Aly((或A.Al((。"我不知道在哪里包括真实价值

我需要新列才能在几个月中有差异

我找到了这个(https://stackoverflow.com/a/42822819/10925117(,它适用于我需要的最终结局: df['nb_months'] = ((df.date2 - df.date1)/np.timedelta64(1, 'M'))

,但仍然对如何在此处使用Relativedelta方法工作感到好奇。

相关内容

  • 没有找到相关文章

最新更新