Here's what I think you're trying to do. My assumptions is that your timestamps are aligned by some multiplier. I've used every 2 minutes in my example, since that's what your example appears to be. Here's my sample dataframe:
df
a b
DATE
2017-05-29 06:30:00 0.0 0.0
2017-05-29 06:31:00 9.0 24.0
2017-05-29 06:32:00 10.0 1.0
2017-05-29 06:33:00 10.0 1.0
2017-05-29 06:34:00 0.0 7.0
2017-05-29 06:35:00 3.0 3.0
2017-05-29 06:36:00 0.0 4.0
2017-05-29 06:37:00 0.0 1.0
2017-05-29 06:38:00 0.0 0.0
2017-05-29 06:39:00 0.0 2.0
2017-05-29 06:40:00 0.0 NaN
2017-05-29 06:41:00 0.0 NaN
2017-05-29 06:42:00 0.0 NaN
2017-05-29 06:43:00 0.0 NaN
2017-05-29 06:44:00 0.0 NaN
2017-05-29 06:45:00 2.0 NaN
2017-05-29 06:46:00 4.0 NaN
2017-05-29 06:47:00 0.0 NaN
2017-05-29 06:48:00 4.0 NaN
2017-05-29 06:49:00 8.0 NaN
Extract the misaligned column to it's own dataframe and add a counter column, then add the timedelta to the index, replace the old index, and concatenate the data columns.
b = df['b'][:10].to_frame()
b.insert(0, 'counter', range(len(b)))
b.index = b.index.to_series().apply(lambda x: x + pd.Timedelta(minutes=b.loc[x].counter))
pd.concat([df['a'], b['b']], axis=1)
a b
DATE
2017-05-29 06:30:00 0.0 0.0
2017-05-29 06:31:00 9.0 NaN
2017-05-29 06:32:00 10.0 24.0
2017-05-29 06:33:00 10.0 NaN
2017-05-29 06:34:00 0.0 1.0
2017-05-29 06:35:00 3.0 NaN
2017-05-29 06:36:00 0.0 1.0
2017-05-29 06:37:00 0.0 NaN
2017-05-29 06:38:00 0.0 7.0
2017-05-29 06:39:00 0.0 NaN
2017-05-29 06:40:00 0.0 3.0
2017-05-29 06:41:00 0.0 NaN
2017-05-29 06:42:00 0.0 4.0
2017-05-29 06:43:00 0.0 NaN
2017-05-29 06:44:00 0.0 1.0
2017-05-29 06:45:00 2.0 NaN
2017-05-29 06:46:00 4.0 0.0
2017-05-29 06:47:00 0.0 NaN
2017-05-29 06:48:00 4.0 2.0
2017-05-29 06:49:00 8.0 NaN
It probably goes without saying, but it would be much better to apply correct timestamps to each of the columns when you ingest them.