得到大熊猫中两个日期的差值

时间:2020-07-27 11:34:05

标签: python pandas

我正在尝试获取数据框中两个单独列中两个日期之间的月份差。我在stackoverflow中查看了多个示例,但是当我实现这些方法时,我得到了负数。以下是我的df和我正在使用的代码的示例。

 issued_date    final_date     months       delta
  29/05/2017     31/05/2020     36              36.6
  25/02/2019     31/05/2020     15          15.36666667
  04/07/2020     31/05/2020     -1         -1.133333333
  03/09/2020     31/05/2020     -3         -3.166666667
  06/07/2019     31/05/2020     10              11
  25/01/2018     31/05/2020     28         28.56666667

issued_date和final_date的数据类型相同:

datetime64[ns]

我尝试了下面的不同版本,您可以找到每个版本

 df['delta'] = df['final_date'] - df['issued_date']
 df['delta'] = df['delta'].dt.days/30

 df['months'] = df['final_date'].sub(df['issued_date'],                                                                                                                           
 axis=0)
 df['months'] = df['months'] /  np.timedelta64(1, 'M')
 df['months'] = df['months'].astype(int)

我不知道为什么它要计算错误的月份数。

2 个答案:

答案 0 :(得分:0)

月数是正确的。您有一些发布日期晚于最终发布日期。

答案 1 :(得分:0)

我认为问题在于,每一行中的日期转换都不同。因此,使计算正确。我需要确定每个人的不同之处