Я хочу создать функцию @interact, которая создает график только что выбранных элементов в флажке, но не может понять, как записать его в цикле
Код, который я написал, работает «отлично», но не масштабируетсяесли я изменю переменные
col_list = list(df.columns.values)[0:][1:]
print(col_list)
lista = []
@interact(a=True, b=True, c=True, d=True, e=True, f=True, g=True, h=True, i=True)
def g(a,b,c,d,e,f,g,h,i):
if col_list[0] not in lista and a == True:
lista.append(col_list[0])
elif col_list[0] in lista and a == False:
lista.remove(col_list[0])
elif col_list[1] not in lista and b == True:
lista.append(col_list[1])
elif col_list[1] in lista and b == False:
lista.remove(col_list[1])
elif col_list[2] not in lista and c == True:
lista.append(col_list[2])
elif col_list[2] in lista and c == False:
lista.remove(col_list[2])
elif col_list[3] not in lista and d == True:
lista.append(col_list[3])
elif col_list[3] in lista and d == False:
lista.remove(col_list[3])
elif col_list[4] not in lista and e == True:
lista.append(col_list[3])
elif col_list[4] in lista and e == False:
lista.remove(col_list[3])
@interact
def sscale_of_graph(Escala_Tiempo={'y','d','q','sm','m','w'}):
to_graphic = df[lista].resample(Escala_Tiempo).max().plot()
Тогда я попробую этот способ, который не работает:
col_list = list(df.columns.values)[0:][1:]
##print(col_list)
lista = []
number = [0,1,2,3,4,5,6,7,8]
alpha = ['a','b','c','d','e','f','g','h','i']
@interact(a=True, b=True, c=True, d=True, e=True, f=True, g=True, h=True, i=True)
def g(a,b,c,d,e,f,g,h,i):
for i,j in zip(number, alpha):
if col_list[i] not in lista and j == True:
lista.append(col_list[i])
elif col_list[i] in lista and j == False:
lista.remove(col_list[i])
return lista
print(lista)
@interact
def sscale_of_graph(Escala_Tiempo={'y','d','q','sm','m','w'}):
to_graphic = df[lista].resample(Escala_Tiempo).max().plot()
Я буду благодарен за некоторую помощь.