У меня есть три столбца во временном ряду.
Временной ряд является почасовым и значение индекса.
У меня есть несколько категорий, которые измеряются ежечасно.
У меня есть произвольные списки уровней: обычно это нечетные имена, и я могу указывать от 40 до 40000 одновременно.
У меня также есть их различные значения: для оценки 0 - 100.
Итак:
Я хочу, чтобы каждый уровень имел свой собственный DataFrame:
(полный кадр данных):
df =
date levels score
2019-01-01 00:00:00 1005 99.438851
2019-01-01 01:00:00 1005 92.081975
2019-01-01 02:00:00 1005 93.032991
2019-01-01 03:00:00 1005 1.991615
2019-01-01 04:00:00 1005 12.723531
2019-01-01 05:00:00 1005 74.443313
(один из сотен отдельных фреймов данных, которые я хочу сгенерировать, но НЕ в DICT)
df_is_1005 =
date score
2019-01-01 00:00:00 99.438851
2019-01-01 01:00:00 92.081975
2019-01-01 02:00:00 93.032991
2019-01-01 03:00:00 1.991615
2019-01-01 04:00:00 12.723531
2019-01-01 05:00:00 74.443313
.... но для ВСЕХ УРОВНЕЙ
.
И
У меня есть небольшая проблема!
Я довольно много покопался и попытался определить данные. Как мне извлечь каждый из них?
Кроме того, как я могу назвать их по отдельности как: df_of_ {уровней}?
Это данные временного ряда, которые я создам для игрушечной модели. (НО должно быть несколько datetime для каждого уровня, в отличие от здесь)
import pandas as pd
from datetime import datetime
import numpy as np
import pandas as pd
date_rng = pd.date_range(start='1/1/2019', end='3/30/2019', freq='H')
df = pd.DataFrame(date_rng, columns=['date'])
df['level'] = np.random.randint(1000,1033,size=(len(date_rng)))
df['score'] = np.random.uniform(0,100,size=(len(date_rng)))
Имейте в виду, уровни, с которыми я могу иметь дело, могут быть сотнями, и они называются странными вещами.
У меня будут метки времени для каждого из них в виде отдельных строк.
Моя желаемая цель - иметь каждый из возможных уровней, которых здесь вполне может быть больше, чем просто небольшое число, для динамического создания фреймов данных.
СЕЙЧАС: я знаю, что могу создать словарь фреймов данных.
НО Как мне извлечь каждый из фреймов данных с ИНДИВИДУАЛЬНЫМИ номерами?
хочу например
df =
date levels score
2019-01-01 00:00:00 1005 99.438851
2019-01-01 01:00:00 1005 92.081975
2019-01-01 02:00:00 1005 93.032991
2019-01-01 03:00:00 1005 1.991615
2019-01-01 04:00:00 1005 12.723531
2019-01-01 05:00:00 1005 74.443313
2019-01-01 06:00:00 1005 12.154499
2019-01-01 07:00:00 1005 96.439228
2019-01-01 08:00:00 1005 64.283731
2019-01-01 09:00:00 1005 83.165093
2019-01-01 10:00:00 1005 75.740610
2019-01-01 11:00:00 1005 25.721404
2019-01-01 12:00:00 1005 37.493829
2019-01-01 13:00:00 1005 51.783549
2019-01-01 14:00:00 1005 7.223582
2019-01-01 15:00:00 1005 0.932651
2019-01-01 16:00:00 1005 95.916686
2019-01-01 17:00:00 1005 11.579450
и тот же дф, гораздо позже ...:
date levels score
2019-01-01 00:00:00 1027 99.438851
2019-01-01 01:00:00 1027 92.081975
2019-01-01 02:00:00 1027 93.032991
2019-01-01 03:00:00 1027 1.991615
2019-01-01 04:00:00 1027 12.723531
2019-01-01 05:00:00 1027 74.443313
2019-01-01 06:00:00 1027 12.154499
2019-01-01 07:00:00 1027 96.439228
2019-01-01 08:00:00 1027 64.283731
2019-01-01 09:00:00 1027 83.165093
2019-01-01 10:00:00 1027 75.740610
2019-01-01 11:00:00 1027 25.721404
2019-01-01 12:00:00 1027 37.493829
2019-01-01 13:00:00 1027 51.783549
2019-01-01 14:00:00 1027 7.223582
2019-01-01 15:00:00 1027 0.932651
2019-01-01 16:00:00 1027 95.916686
2019-01-01 17:00:00 1027 11.579450
2019-01-01 18:00:00 1027 91.226938
2019-01-01 19:00:00 1027 31.564530
2019-01-01 20:00:00 1027 39.511358
2019-01-01 21:00:00 1027 59.787468
2019-01-01 22:00:00 1027 4.666549
2019-01-01 23:00:00 1027 92.197337
... и так далее ...
КАЖДЫЙ уровень по отдельности, как бы он ни назывался (а их может быть сотни со случайными значениями):
Для преобразования в
df_ {level_value_generated} =
date score
2019-01-01 00:00:00 8.040233
2019-01-01 01:00:00 55.736688
2019-01-01 02:00:00 37.910143
2019-01-01 03:00:00 22.907763
2019-01-01 04:00:00 4.586205
2019-01-01 05:00:00 88.090652
2019-01-01 06:00:00 50.474533
2019-01-01 07:00:00 92.890208
2019-01-01 08:00:00 70.949978
2019-01-01 09:00:00 23.191488
2019-01-01 10:00:00 60.506870
2019-01-01 11:00:00 25.689149
2019-01-01 12:00:00 49.234296
2019-01-01 13:00:00 65.369771
2019-01-01 14:00:00 55.550065
2019-01-01 15:00:00 35.112297
2019-01-01 16:00:00 45.989587
2019-01-01 17:00:00 76.829787
2019-01-01 18:00:00 5.982378
2019-01-01 19:00:00 83.603115
2019-01-01 20:00:00 5.995648
2019-01-01 21:00:00 95.658097
2019-01-01 22:00:00 21.877945
2019-01-01 23:00:00 30.428798
2019-01-02 00:00:00 72.450284
2019-01-02 01:00:00 91.947018
2019-01-02 02:00:00 66.741502
2019-01-02 03:00:00 77.535416
2019-01-02 04:00:00 29.624868
2019-01-02 05:00:00 89.652003
Таким образом, я могу затем перечислить эти фреймы данных, которые созданы ДИНАМИЧЕСКИ.
С этого момента я хотел бы добавить их в словарь, причина в том, что я хочу обучить модель временных рядов для каждого отдельного фрейма данных, чтобы у меня была другая модель для каждый из них, каждый со своим обучением и результатами.
Если возможно, могу ли я тренировать несколько DataFrames из словаря по отдельности?
Если я просто сделаю сводную таблицу или сгруппированную группу, у меня будет большой Dataframe, для которого мне придется отдельно вызывать столбцы, чтобы тренироваться по временным рядам. Так что я бы предпочел этого не делать.
Итак, как мне динамически создать:
Новые имена DataFrames из уровней, которые не все известны по значению,
каждый по имени:
df_ {level_name}:
DateTime Столбец: Score_Column:
некоторые даты ... баллы 0-100
, который затем удалит столбец 'level_name' в их собственном DataFrame, так что у меня может быть столько данных, сколько необходимо, каждый из которых будет иметь уникальное имя, программно, чтобы я мог затем взять каждый из них и затем подключить их к новой модели или как?