熊猫日期时间:计算两列中的日期之间的星期数


问题内容

假设我有一个包含两个包含日期的列的数据框,并且我想创建一个新列,其值是这些日期之间的月数。

>df

Index   Date1         Date2
1       2012/03/07    2013/03/16
2       2012/12/05    2012/12/25
3       2010/06/30    2013/05/19
4       2002/11/02    2011.06.08


df["Date1"]= pd.to_datetime(df["Date1"])
df["Date2"]= pd.to_datetime(df["Date2"])

Date1将始终在date2之前。我目前执行此操作的方法大约需要10个步骤,而且我敢肯定有一种更简单的方法可以执行此操作。有什么想法吗?


问题答案:

看到此链接:http : //pandas.pydata.org/pandas-docs/dev/timeseries.html#time-
deltas

(df['Date2']-df['Date1']).apply(lambda x: x/np.timedelta64(1,'M'))

对于numpy> = 1.7(如果使用的是1.6.1,请参见链接)

我不确定这将如何处理。(通常我会np.timedelta64(1,'D')先除以30再除以小数(作为浮点数)