【发布时间】:2016-05-06 17:37:49
【问题描述】:
在 Python 的 pandas 中是否有等效于 SQL 的 datediff 函数? 这个问题的答案: Add column with number of days between dates in DataFrame pandas 解释了如何计算天数的差异。例如:
>>> (pd.to_datetime('15-10-2010') - pd.to_datetime('15-07-2010')) / pd.offsets.Day(1)
92.0
但是,我有两个问题:
- 有没有办法计算月差?我可以将上面的结果近似地除以 30,除以 31,但我想知道是否有一些内置函数可以自动执行此操作。
- pd.offsets 的语法是什么?我尝试除以 pd.offsets.Month(1) 并且它不起作用。我在这里查看了文档(这很糟糕,就像所有 Python 的文档一样!):http://pandas.pydata.org/pandas-docs/stable/timeseries.html#dateoffset-objects 但 Day() 不存在,所以我很困惑
【问题讨论】:
-
另外,我似乎无法将结果转换为整数。有什么想法吗?
-
嗯,我在这里找到了stackoverflow.com/questions/22132525/… 如何从 timedelta 转换为 float:除以 np.timedelta64(1,'D')。为什么,以及记录在哪里,是单独的问题!!!