如何使用relatived计算日期之间的月份变化

2024-05-15 03:10:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图添加一个新的列到我的数据帧,并希望它返回两个日期之间的差异,这是在其他两列月

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

  • 只需减去日期,然后除以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()。“我不知道在哪里包含真值

我需要新的专栏在几个月内有差异


Tags: to数据方法indffor差异timedelta
1条回答
网友
1楼 · 发布于 2024-05-15 03:10:27

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

但仍然好奇如何让relativedelta方法在这里工作

相关问题 更多 >

    热门问题