Вы можете создать dictionary of DataFrames
, потому что globals
решение не рекомендуется:
#python 3.6+
dfs = {f'{x}min': df.resample(f'{x}min').first() for x in range(5,7201,5)}
#python bellow
dfs = {'{}min'.format(x): df.resample('{}min'.format(x)).first() for x in range(5,7201,5)}
Образец :
rng = pd.date_range('2017-04-03 12:15:10', periods=5, freq='11Min')
df = pd.DataFrame({'a': range(5)}, index=rng)
print (df)
a
2017-04-03 12:15:10 0
2017-04-03 12:26:10 1
2017-04-03 12:37:10 2
2017-04-03 12:48:10 3
2017-04-03 12:59:10 4
dfs = {f'{x}min': df.resample(f'{x}min').first() for x in range(5,16,5)}
print (dfs)
{'5min': a
2017-04-03 12:15:00 0.0
2017-04-03 12:20:00 NaN
2017-04-03 12:25:00 1.0
2017-04-03 12:30:00 NaN
2017-04-03 12:35:00 2.0
2017-04-03 12:40:00 NaN
2017-04-03 12:45:00 3.0
2017-04-03 12:50:00 NaN
2017-04-03 12:55:00 4.0, '10min': a
2017-04-03 12:10:00 0
2017-04-03 12:20:00 1
2017-04-03 12:30:00 2
2017-04-03 12:40:00 3
2017-04-03 12:50:00 4, '15min': a
2017-04-03 12:15:00 0
2017-04-03 12:30:00 2
2017-04-03 12:45:00 3}
А затем выберите по клавишам dict:
print (dfs['5min'])
a
2017-04-03 12:15:00 0.0
2017-04-03 12:20:00 NaN
2017-04-03 12:25:00 1.0
2017-04-03 12:30:00 NaN
2017-04-03 12:35:00 2.0
2017-04-03 12:40:00 NaN
2017-04-03 12:45:00 3.0
2017-04-03 12:50:00 NaN
2017-04-03 12:55:00 4.0