我有下一个例子
import pandas as pd
data = {
'id_number': ['000001000', '000009795', '000011722'],
'first_date': ['2022-01-08 13:41:00', '2022-11-07 09:16:00', '2022-02-15 12:46:00'],
'last_date': ['2023-06-13 16:33:00', '2022-11-30 12:59:00', '2022-06-21 11:42:00']
}
df_test = pd.DataFrame(data)
# Try to calculate the difference in months
df_test['first_date'] = pd.to_datetime(df_test['first_date'])
df_test['last_date'] = pd.to_datetime(df_test['last_date'])
df_test['months_difference'] = (df_test['last_date'] - df_test['first_date']) // pd.Timedelta('1 month')
df_test
但是错误是
ValueError: invalid unit abbreviation: month
有什么方法可以计算这个差异吗?
您可以尝试以下方法:
df_test['months_difference'] = (df_test.last_date -df_test.first_date)/numpy.timedelta64(1, 'M')
这将为您提供浮点数形式的月份差异,如果您想要它们作为整数,请添加
df_test['months_difference'] = df_test['months_difference'].astype(int)