Я разбил фрейм данных "df" на более мелкие фреймы данных df1, df2 ... dfn так, чтобы все записи с одинаковым идентификатором (из столбца "UNIT-ID") были сгруппированы и сохранены в этих меньших фреймах данных.
Input:
UNIT-ID Q1 Q2 Q3
110-P1 37 487 0
110-P1 31 140 1
110-P1 46 214 1
110-P2 29 287 1
110-P2 45 131 1
110-P2 39 260 0
110-15 23 346 0
110-15 31 419 1
110-15 37 287 0
110-15 36 228 1
110-15 48 309 1
Output:
df1:
UNIT-ID Q1 Q2 Q3
110-P1 37 487 0
110-P1 31 140 1
110-P1 46 214 1
df2:
UNIT-ID Q1 Q2 Q3
110-P2 29 287 1
110-P2 45 131 1
110-P2 39 260 0
Я использовал приведенный ниже код для достижения этой цели, благодаря @ W-B, который ответил на вопрос .
variables = locals()
for i,j in enumerate(df.groupby('UNIT-ID')):
variables["df{0}".format(i+1)] = j[1]
df1
Out[13]:
UNIT-ID Q1 Q2 Q3
16 110-15 23 346 0
17 110-15 31 419 1
18 110-15 37 287 0
19 110-15 36 228 1
20 110-15 48 309 1
Далее я хочу выполнить несколько шагов предварительной обработки и модель глубокого обучения для каждого из этих отдельных фреймов данных. Теперь эти файлы данных - df1, df2 .. dfn, не хранятся в любом месте на локальном диске, но они имеют был создан и может быть обращен, если проверено. Есть ли способ перебрать эти фреймы данных?
Можно использовать «dict» для разделения на df1, df2 ... dfn следующим образом, но, используя эту опцию, мне нужно сохранить каждый df в физическом месте и прочитать его снова, так как dfs все еще хранятся в dict и должны быть извлечены путем вызова отдельно. Есть ли способ сделать эту задачу, используя "местные жители" или любой другой метод?
d={"df{0}".format(i+1):j[1]for i,j in enumerate(df.groupby('UNIT-ID'))}
d['df1']
Out[17]:
UNIT-ID Q1 Q2 Q3
16 110-15 23 346 0
17 110-15 31 419 1
18 110-15 37 287 0
19 110-15 36 228 1
20 110-15 48 309 1