Python在datetime.now()和填充日期的系列之间的年份差异? [英] Python difference in years between a datetime.now() and a Series filled up with dates?

查看:245
本文介绍了Python在datetime.now()和填充日期的系列之间的年份差异?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在数据集中创建一个新列,这是今天和数据集中已经存在的另一列之间的年差。



上面的代码:

  df ['diff_years'] = datetime.today()-df ['some_date'] 
df ['diff_years']

请给我以下输出(例如):

  1754天11:44:28.971615 

,而我必须得到类似的东西(意味着以上年份的输出):

  4,8 
(或5)

感谢您的帮助!



PS:我想避免循环播放该系列,我相信这会给我一个理想的解决方案,但是由于有一个大系列,我想避免这种方式。

解决方案

几天前,我在项目中遇到了同样的问题,现在我已经尝试过这些,



<$从dateutil.relativedelta导入p $ p> 从日期时间导入日期开始的relativedelta

现在= date.today()
some_date =日期(df ['some_date'])

rdelta = relativedelta(现在为some_date) )
print('diff in years-',rdelta.years)
print('remaining months-',rdelta.months)
print('remaining days-',rdelta.days)

应该打印出年份差异


I would like to create a new column in my dataset, which is a difference in years between today and a another column already in the dataset, filled up with dates.

the code above:

df['diff_years'] = datetime.today() - df['some_date']
df['diff_years']

give me the following output (exemple):

1754 days 11:44:28.971615

and i have to get something like (meaning the output above in years):

4,8 
(or 5)

I appreciate any help!

PS.: i would like to avoid looping the series, path i believe would give me a desired solution, but due having a big series i would like to avoid this way.

解决方案

Before some days i was facing same issue in my project now i had tried with these ,

from dateutil.relativedelta import relativedelta
from datetime import date
now = date.today()
some_date = date(df['some_date'])

rdelta = relativedelta(now, some_date)
print('diff in years - ', rdelta.years)
print('remaining months - ', rdelta.months)
print('remaining days - ', rdelta.days)

It should print difference in years

这篇关于Python在datetime.now()和填充日期的系列之间的年份差异?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆