I get multiple time series data in series format with datetimeindex, which I want to resample and convert to a dataframe with multiple columns with each column representing each time series. I am using separate functions to create the dataframe, for example, .get(), .resample(), pd.concat(). Since it is not following the DRY principle (Don't Repeat Yourself) and I can be categorized as a novice programmer, it would be really appreciated if an efficient method is suggested. I am giving some snippets below:
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)
Although, you haven't provided the df yet but this piece of code would definitely help:
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']]