Добрый день, у меня есть математическая модель для моделирования сети различных производственных объектов. До сих пор я помогал себе для визуализации двумерных данных, создавая отдельные кадры данных для каждого местоположения.
PQ1=pd.DataFrame()
for p_m in VAR1: # sales
PQ1.loc[p_m,'Volume'] = round(model.calc['P01',p_m](), 2)
PQ1.loc[p_m,'Quality'] = sum(model.mix3['P01',b_n,p_m]()*mix[b_n][p_m]*q[b_n]['Quality'] for b_n in
MIX)/ PQ1.loc[p_m,'Volume']
...
PQ2 = pd.DataFrame()
for p_m in VAR1: # sales
PQ2.loc[p_m,'Volume'] = round(model.prods['P02',p_m](), 2)...
, а затем создавал или экспортировал эти данные для отдельных кадров. Это хорошо, если у вас есть только 2 или 3 места. Я ищу более разумный путь к этому, где я могу установить для l oop как:
for l_c in LOCATIONS:
for p_m in VAR1:
PQ[l_c].loc[p_m,'Volume'] = round(model.calc[l_c,p_m](),2)
PQ[l_c].loc[p_m,'Quality'] = sum(model.mix3[l_c,b_n,p_m]()*mix[b_n][p_m]*q[b_n]['Quality']\
for b_n in MIX)/ PQ[l_c].loc[p_m,'Volume']
, чтобы впоследствии я мог использовать для циклов для визуализации / экспорта данных. Построить трехмерный фрейм данных просто, однако после его создания я изо всех сил пытаюсь преобразовать его обратно в желаемый 3-мерный фрейм данных. который я мог бы адресовать данные как PQ [l_ c, p_m, 'Volume'] и создать желаемое 2d местоположение, указывающее c данных.
Заранее благодарен за любую помощь. с уважением, p.
немного больше информации о том, как выглядит вывод: пример выходного кадра данных . на данный момент каждый из них генерируется вручную. взятие данных из расчета пиомо. однако я хочу быть более гибким, добавляя более высокое разрешение к модели, следовательно, имея больше местоположений или узлов, как эксперты называют это. так что, если бы я мог сгенерировать эти двумерные таблицы с нарезкой и нарезкой многомерных пиомодальных данных для l oop, это было бы чрезвычайно полезно для визуализации. если бы мне пришлось создать его немного более научным c: у меня есть результат модели pyomo, которая дает оптимизированный вывод, состоящий из множества 1000 дискретных значений, и я хотел бы l oop поверх некоторых из них, чтобы получить серию из 2-х мерных выходов x, f (x), которые я затем могу визуализировать с помощью диаграмм или линейных графиков в matplotlib. как показано в примере, в настоящее время я должен вручную исправить «P01», а затем отображать значения только для разных продуктов p_m с определенным «качеством». Когда я пытаюсь l oop через несколько 'P0i', выдается сообщение об ошибке:
KeyError: "None of [Index(['P01', 'Product1', 'Volume'], dtype='object')] are in the [index]"