Я считаю, что нужно заполнить каждый DataFrame в цикле на groupby
столбца Name
, наконец получить dictionary of DataFrame
s:
dfs = {}
for i, x in df.groupby('Name'):
dfs[i] = pd.DataFrame({'Susceptible': x['Pop'].iloc[0]},
index = pd.date_range('2016-01-01 00:00:00','2017-01-01 00:00:00', freq ='H'),
columns = ['Susceptible','Exposed','Infected','Removed'])
#print (dfs)
print (dfs['Mumbai'])
РЕДАКТИРОВАТЬ:
При необходимости создайте только первое значение:
dfs = {}
for i, x in df.groupby('Name'):
dfs[i] = pd.DataFrame(index = pd.date_range('2016-01-01 00:00:00','2017-01-01 00:00:00', freq ='H'),
columns = ['Susceptible','Exposed','Infected','Removed']) #Create a blank dataframe
dfs[i].loc[dfs[i].index[0], 'Susceptible'] = x['Pop'].iloc[0]
print (dfs['Mumbai'].head())
Susceptible Exposed Infected Removed
2016-01-01 00:00:00 100000 NaN NaN NaN
2016-01-01 01:00:00 NaN NaN NaN NaN
2016-01-01 02:00:00 NaN NaN NaN NaN
2016-01-01 03:00:00 NaN NaN NaN NaN
2016-01-01 04:00:00 NaN NaN NaN NaN