Pythonとpandasの以下のプログラムに関する質問です。

以下の6つの変数は異なる期間とデータを持つ、index が datetimeindex の Series です。
1~3の違いは期間が異なり、aとbはデータが異なります。

season_a1
season_b1

season_a2
season_b2

season_a3
season_b3

from pandas import DataFrame
import numpy as np

#結果を格納するDataFrame
result_df1 = DataFrame(index=np.arange(0, 24))
result_df2 = DataFrame(index=np.arange(0, 24))
result_df3 = DataFrame(index=np.arange(0, 24))


for year in range(2000, 2004):

    if str(year) in season_b1.index:
        a1 = season_a1[str(year)].index.hour.value_counts().sort_index()
        b1 = season_b1[str(year)].index.hour.value_counts().sort_index()
        result_df1['A' + str(year)] = a1
        result_df1['B' + str(year)] = b1
# 1

    if str(year) in season_b2.index:
        a2 = season_a2[str(year)].index.hour.value_counts().sort_index()
        b2 = season_b2[str(year)].index.hour.value_counts().sort_index()
        result_df2['A' + str(year)] = a2
        result_df2['B' + str(year)] = b2
# 2

    if str(year) in season_b3.index:
        a3 = season_a3[str(year)].index.hour.value_counts().sort_index()
        b3 = season_b3[str(year)].index.hour.value_counts().sort_index()
        result_df3['A' + str(year)] = a3
        result_df3['B' + str(year)] = b3
# 3

result_df1.to_csv(path1)
result_df2.to_csv(path2)
result_df3.to_csv(path3)

単純にvalue_counts()で集計した結果の

a1, b1 は、 result_df1 に。
a2, b2 は、 result_df2 に。
a3, b3 は、 result_df3 に。

列として追加していき、 csvファイルとして出力するだけです。

欲しい結果としては、result_df1~3 の結果が全て異なるものになって欲しいのですが、
それぞれ元となるデータも変数名も異なるのに、
出力される結果が全て result_df3 の内容と同じになってしまいます。

確認として、# 1~3 の部分で result_df1~3 の内容を print() してみたのですが、
1回目のループの # 2 のところで既に result_df1 が result_df2 と同じになっていて
# 3 のところでは result_df1 , result_df2 も result_df3 と同じになっています。

初歩的なミスだとは思うのですが、解決できません。
申し訳ございませんが、よろしくお願いいたします。