我正在将多个时间序列电子表格读入一个熊猫数据帧,并将它们与一个常见的熊猫日期时间索引连接在一起。记录时间序列的数据记录器不是 100% 准确,这使得重新采样非常烦人,因为根据时间是略高于还是略低于采样间隔,它会创建 NaN 并开始使我的系列看起来像一条折线。这是我的代码
def loaddata(filepaths):
t1 = time.clock()
for i in range(len(filepaths)):
xl = pd.ExcelFile(filepaths[i])
df = xl.parse(xl.sheet_names[0], header=0, index_col=2, skiprows=[0,2,3,4], parse_dates=True)
df = df.dropna(axis=1, how='all')
df = df.drop(['Decimal Year Day', 'Decimal Year Day.1', 'RECORD'], axis=1)
if i == 0:
dfs = df
else:
dfs = concat([dfs, df], axis=1)
t2 = time.clock()
print "Files loaded into dataframe in %s seconds" %(t2-t1)
files = ["London Lysimeters corrected 5min.xlsx", "London Water Balance 5min.xlsx"]
data = loaddata(files)
这是索引的一个想法:
数据索引
类'pandas.tseries.index.DatetimeIndex'> [2012-08-27 12:05:00.000002, ..., 2013-07-12 15:10:00.000004] 长度:91910,频率:无,时区:无
将索引四舍五入到最接近的分钟的最快和最通用的方法是什么?