Из вашего комментария, я думаю, вы можете ошибаться в отношении исходных данных.
Например:
import datetime
import pandas as pd
dt = pd.to_datetime([datetime.datetime(2018, 1, 1, 0, 0, 0)])
print(dt)
print(dt.tz_localize('UTC'))
print(dt.tz_localize('UTC').tz_convert('Asia/Kolkata'))
Работает точно так, как вы ожидаете:
DatetimeIndex(['2018-01-01'], dtype='datetime64[ns]', freq=None)
DatetimeIndex(['2018-01-01 00:00:00+00:00'], dtype='datetime64[ns, UTC]', freq=None)
DatetimeIndex(['2018-01-01 05:30:00+05:30'], dtype='datetime64[ns, Asia/Kolkata]', freq=None)
Вы не предоставляете нам исходные данные, только результат, который вы считаете неправильным - вам нужно будет предоставить более полный пример с выводом исходных данных, чтобы прояснить, в чем проблема, если вы все еще верите в это на самом деле один.