Python - Formar nueva base de datos con los valores que tomo desde un ciclo for

 
Vista:

Formar nueva base de datos con los valores que tomo desde un ciclo for

Publicado por Daniela Estay (5 intervenciones) el 07/05/2019 00:20:13
Estimados, estoy desarrollando un ejercicio en el cual debo formar una nueva matriz con mis datos originales, por ejemplo en el campo que dice desde y hasta la idea es hacer una fila por cada valor. Por ejemplo si dice desde 134 a 138 debo dejar 5 filas, una con el 134, otra con el 135, otra con el 136, otra con el 137 y una con el 138, y luego seguir con la segunda fila, si va desde hasta el mismo valor coloco la fila original, y así. Para esto hago un for, el problema es que cuando trato de juntar las bases que me está dando por iteración (valor del i) no me funciona. ¿Como puedo hacer para guardar cada elemento que me calcule con el diferente i de manera de poder juntarlos con otro for posteriormente?
Les muestro mi código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for i in range (0,3):
    if df.iloc[i,19] > df.iloc[i,18]:
        ll_i=pd.DataFrame(np.repeat(df.iloc[i:i+1].values,df.iloc[i,19] - df.iloc[i,18]+1,axis=0),columns=['Id','Parametro','Producto','Cobertura','Tipo_Cliente','Genero','Fumador','Canal_Comision','Desde_Capital','Hasta_Capital','Desde_Edad','Hasta_Edad','Desde_Antiguedad','Hasta_Antiguedad','Desde_N_PB_Ac','Hasta_N_PB_Ac','Plan','Variable_Temporal','Desde','Hasta','Valor'])
        if df.iloc[i,18]!=df.iloc[i-1,18]:
            ll_i['Valor_Var_Temp3'] = ll.iloc[i,18]
        else:
            ll_i['Valor_Var_Temp3'] = ll.iloc[i,21]+1
    else:
        pd.DataFrame(df.loc[i])
if (i==0):
    Total=ll_i
else:
    Total=Total.append(ll_i)
 
print(Total)

Quedo atenta, muchas gracias,
Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder