Заполнить несколько таблиц, используя один и тот же фрейм данных

#python #html #pandas

#python #HTML #pandas

Вопрос:

У меня есть HTML-шаблон, который содержит 3 таблицы. Существует один внутренний фрейм данных, и каждая из 3 таблиц должна быть заполнена фильтрованным сегментом фрейма данных.

Например:

Шаблон HTML:

Таблица 1 Таблица 2 Таблица 3

Фрейм данных

Таким образом, все значения компании A заполняются в таблице 1, B в таблице 2 и C в таблице 3.

Смогу ли я отфильтровать их в своем HTML-скрипте или было бы лучше отфильтровать и создать отфильтрованные фреймы данных и передать их в шаблон HTML.

Я использую render_templates в flask

Комментарии:

1. Фильтрация их в коде Python будет более понятной для вас. Вы можете сделать это внутри html с помощью некоторой фильтрации Jinja или оператора if, но я бы определенно выбрал первый вариант.

2. Как бы мне тогда связать разные фреймы данных с разными идентификаторами таблиц?

3. Я добавил ответ, пожалуйста, проверьте

Ответ №1:

Лучший способ — создать 3 разных фрейма данных перед рендерингом html, как показано ниже:

 dfA=df[df.Company=='A']
dfB=df[df.Company=='B']
dfC=df[df.Company=='C']
 

добавьте их все в контекст во время рендеринга, например

 return render_template('yourhtml.html', dfA=dfA, dfB=dfB, dfC=dfC)
 

и внутри html вы добавите 3 разные таблицы, выполняя цикл в dfA, dfB, dfC отдельно