If I understand your question correctly, Andy had the right idea in his comment. You don't want to merge to two, you want to copy the column of one into the other.
In [48]: df1 = pd.read_csv(StringIO(b), index_col=0, names=['time', 'open', 'high', 'low', 'close', 'volume'], parse_dates=True)
In [49]: df2 = pd.read_csv(StringIO(a), index_col=0, names=['time', 'open', 'high', 'low', 'close', 'volume'], parse_dates=True)
In [71]: df1
Out[71]:
open high low close volume
time
2009-02-23 18:01:00 991.26 992.12 990.8 991.84 69
2009-02-23 18:02:00 991.80 992.26 991.2 991.87 74
2009-02-23 18:04:00 991.82 991.83 990.7 991.32 74
In [72]: df2
Out[72]:
open high low close volume
time
2009-02-23 18:01:00 1.2709 1.2711 1.2704 1.2705 204
2009-02-23 18:02:00 1.2706 1.2706 1.2700 1.2704 211
2009-02-23 18:03:00 1.2704 1.2705 1.2701 1.2704 82
2009-02-23 18:04:00 1.2702 1.2708 1.2702 1.2706 98
In [51]: df2['other_close'] = df1['close']
In [52]: df2
Out[52]:
open high low close volume other_close
time
2009-02-23 18:01:00 1.2709 1.2711 1.2704 1.2705 204 991.84
2009-02-23 18:02:00 1.2706 1.2706 1.2700 1.2704 211 991.87
2009-02-23 18:03:00 1.2704 1.2705 1.2701 1.2704 82 NaN
2009-02-23 18:04:00 1.2702 1.2708 1.2702 1.2706 98 991.32
You can do df2.fillna(0)
to get your expected answer.