是否有任何函数来获得多个时间序列与.get和创建一个数据框架在熊猫?



我使用datetimeindex获得序列格式的多个时间序列数据,我想重新采样并将其转换为具有多列的数据帧,每列表示每个时间序列。我使用单独的函数来创建数据框架,例如,.get(), . ressample (), pd.concat()。因为它不遵循DRY原则(Don't Repeat Yourself),而且我可以被归类为一个新手程序员,如果能提出一个有效的方法,我将非常感激。我在下面给出一些片段:

timeseries1 = client.get('tagid', start = '2022-01-01 12:00:00', end = '2022-01-01 18:00:00')
timeseries2 = client.get('tagid', start = '2022-01-01 12:00:00', end = '2022-01-01 18:00:00')
timeseries1_resample = timeseries1.resample('1H', label = 'right').mean()
timeseries2_resample = timeseries2.resample('1H', label = 'right').mean()
df = pd.concat([timeseries1_resample, timeseries2_resample], join = 'outer', axis = 1, sort = False)

虽然您还没有提供df,但是这段代码肯定会有帮助:

df = pd.DataFrame({'tagid': [12, 34, 56, 78],
'time': ['2022-01-01 12:10:00', '2022-01-01 17:00:00', '2022-01-02 18:10:00',
'2021-01-01 12:00:00']}) 
df['time'] = df['time'].apply(lambda x: pd.to_datetime(x))
start = pd.to_datetime('2022-01-01 12:00:00')
end = pd.to_datetime('2022-01-01 18:00:00')
df.loc[df['time'].apply(lambda x: x > start and x < end), ['tagid']]

最新更新