假设我有一个包含两列的数据框,其中包含日期,我想创建一个新列,其值是这些日期之间的月数。
>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 得到小数月数(作为 float )
关于python - Pandas 日期时间 : Calculate Number of Weeks Between Dates in Two Columns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17414130/