如何在Python Pandas中创建新的日期计算列



我有如下DataFrame:

df['Date'] =
...
936   2012-12-31
938   2012-12-29
965   2012-12-31
966   2012-12-31
967   2012-12-31
968   2012-12-31
969   2012-12-31
970   2012-12-29
971   2012-12-31
972   2012-12-29
973   2012-12-29

我需要在这个DataFrame中创建一个新列:

  1. New1=从";日期";列直到今天

这可能不是最优雅的方式,但它在这里起作用——它是

data = { 'Date': [np.datetime64('2012-12-31'), np.datetime64('2012-12-29'), np.datetime64('2012-12-31')]}
df = pd.DataFrame(data, columns=['Date'])
def calculate_months(date):
now = datetime.datetime.now() 
diff = now - date 
return diff / np.timedelta64(1,'M')
df['New1'] = df.Date.apply(calculate_months).tolist()

所有棘手的事情都在calculate_months中,基本上是找到从现在到经过的时间之间的delta作为一个参数,然后将其转换为月份,如果你不需要小数部分,你可以将其下限或类似的东西。

相关内容

  • 没有找到相关文章

最新更新