@sunsexsurf
IT & creative

Как пофиксить цикл в цикле?

У меня есть задача - построить несколько subplots для моих данных в Plotly. Разумнее всего сделать это циклом. Помогите, пожалуйста, с кодом:

У меня есть датасет, в котором использован мультииндекс. Хотелось бы это сохранить.

import pandas as pd
from plotly.subplots import make_subplots
import plotly.graph_objects as go

my_months = [9,9,9,10,10,10,11,11,11]
my_vls = [10, 20, 30, 20, 15, 25, 20, 30, 20]
my_names = ['one', 'two', 'three', 'one', 'two', 'three', 'one', 'two', 'three',]
test = pd.DataFrame(zip(my_months, my_names, my_vls), columns=['month','names', 'values'])
test = test.groupby(['month', 'names']).sum()
# test


test_fig = make_subplots(rows = len(test.index.levels[0]),
                        cols = 1)
for i, month in enumerate(test.index.levels[0]):
    local_df = test.loc[test.index.get_level_values(0)==month]
    
    for name in local_df.index.levels[1]:
        local_df_2 = local_df.loc[local_df.index.get_level_values(1)==name]
    
        trace = go.Bar(x = local_df_2.index.get_level_values(1),
                       y = local_df_2.values)

        test_fig.append_trace(trace, i+1, 1)
    
test_fig.show()


Идея была такая: В первом цикле для каждого месяца обрезать датасет с данными только по этому месяцу Во втором цикле интеративно пройтись по именам и для каждого имени построить столбец.

Подскажите, что я делаю не так с циклами?
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
@sunsexsurf Автор вопроса
IT & creative
y = local_df_2.values[0]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы