我们考虑以下跨越1月16日上午10点到下午4点的DataFrame:
date_range1 = pd.date_range(dt(2017,1,16,10), dt(2017,1,16, 20), freq='2H')
df = pd.DataFrame(data = np.random.rand(len(date_range1),2), index = date_range1)
我使用稍微长一点的DateTimeindex重新索引它,时间跨度从0am到11pm,并获得了所需的结果,在0-10am和4-11pm之间的时间范围内填充NaN,因为那里没有数据:
date_range2 = pd.date_range(dt(2017,1,16,0), dt(2017,1,16, 23), freq='2H')
df.reindex(date_range2)
然而,如果我先修改df
的时区,然后执行相同的重新索引操作,将得到一个完全填充NaN值的DataFrame:df = df.tz_localize("Europe/Helsinki").tz_convert('UTC')
df.reindex(date_range2)
有人知道这里发生了什么吗?