如何使用相对增量

时间:2019-05-20 15:40:20

标签: python dataframe datetime relativedelta

我试图在DataFrame中添加一个新列,并希望它返回两个其他列中两个日期之间的月份差值。

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

  • 简单地减去日期,然后除以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.all()。”我不知道在哪里包含真值

我需要新的列才能显示月份差异

1 个答案:

答案 0 :(得分:1)

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

,但仍然对如何使relativedelta方法在这里工作感到好奇。