如何在Python中确定两个日期之间的月数?
我有两列是datetime64[ns]对象。我试图确定他们之间的月数 各栏分别为:如何在Python中确定两个日期之间的月数?,python,pandas,datetime,Python,Pandas,Datetime,我有两列是datetime64[ns]对象。我试图确定他们之间的月数 各栏分别为: city_clean['last_trip_date'] city_clean['signup_date'] 格式为YYYY-MM-DD 我试过了 from dateutil.relativedelta import relativedelta city_clean['months_active'] = relativedelta(city_clean['signup_date'], city_clean['
city_clean['last_trip_date']
city_clean['signup_date']
格式为YYYY-MM-DD
我试过了
from dateutil.relativedelta import relativedelta
city_clean['months_active'] = relativedelta(city_clean['signup_date'], city_clean['last_trip_date'])
并获取以下错误:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
有人知道是什么导致了这个问题吗?我觉得这是计算月数最准确的方法 我想到的第一件事
>>从datetime导入datetime,timedelta
>>>dt1=日期时间(年=2020,月=3,日=1)
>>>dt2=日期时间(年=2020,月=5,日=1)
>>>#δ=dt2-dt1
>>>增量=绝对值(dt2-dt1)
>>>三角洲
datetime.timedelta(61)
>>>delta.days
61
这是熊猫,对吗?试着这样做:
# calculate the difference between two dates
df['diff_months'] = df['End_date'] - df['Start_date']
# converts the difference in terms of Months (timedelta64(1,’M’)- capital M indicates Months)
df['diff_months']=df['diff_months']/np.timedelta64(1,'M')
或者,如果您有合适的datetimes对象
def diff_month(d1, d2):
return (d1.year - d2.year) * 12 + d1.month - d2.month