我正在尝试在我的数据框架中添加一个新列,并希望它返回两个日期之间的几个月差异,这两个日期中的两个列是其他两个列中。
到目前为止,我已经尝试了几种方法,包括:
- 简单地减去日期,然后除以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方法工作感到好奇。