Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中确定两个日期之间的月数?_Python_Pandas_Datetime - Fatal编程技术网

如何在Python中确定两个日期之间的月数?

如何在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['

我有两列是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['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