現在、xlsxファイルに日付のデータを保存しています(dates.xlsx)。
date2-dateを求めたいと考えています。

date               date2
1973年3月     2018年8月
1984年10月        2018年5月
1990年1月     2017年12月
1954年          2016年1月

これを読み込むために、次のコードを書いています。

from datetime import datetime, timedelta

df=pd.read_excel("dates.xlsx") 
print(df)

確認すると次のように出力されます。

"""
print(df)
                 date  date2
0  1973-03-01 00:00:00  43313
1                30956  43221
2                32874  43070
3                1954年  42370
"""

いろいろな形式で入力されてしまいます。

data2からdataを引き算する、"date2-date"を求めるために、次の手順を考えています。

1)形式を揃えるために、年のみで入力されているデータは、"年"を除く。
2) 日付データの入力形式を揃えて、引き算をする。

現在は、1)については、次のコマンドを行っているのですが、
年以外のデータはNaNになってしまいます。

df['date'] = df['date'].str.replace('年', '')

どなたか、手順2)まで求める方法を示唆して頂けるとありがたいです。
よろしくお願いします。