Python - Cambiar valores dataframe

 
Vista:
sin imagen de perfil
Val: 4
Ha disminuido su posición en 21 puestos en Python (en relación al último mes)
Gráfica de Python

Cambiar valores dataframe

Publicado por Felipe (2 intervenciones) el 19/03/2021 10:53:38
Buenos días, quería cambiar los valores de un dataframe, dependiendo del valor de la fila anterior.
El caso es que hago un bucle, y las operaciones que corresponden pero no me sustituye el valor del dataframe, o me sustituye todos los valores por el último que se asigna.

No se que hago mal para realizar la asignación, a ver si alguien puede echarme una mano.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
def sumar_dia(fecha):
        print("--------> sumar_dia")
 
        formato = "%d/%m/%Y"
        f1 = datetime.strptime(fecha, formato)
        one_day = timedelta(days=1)
        resultado = f1 + one_day
 
        print("<-------- sumar_dia ---- " + str(resultado))
        return str(resultado.strftime('%d/%m/%Y'))
 
 
df["Dia"]=""
 
for i in range(0, len(df)-1):
 
  row1 = df.iloc[i]
  row2 = df.iloc[i+1]
 
  #SI ES LA PRIMERA FILA, LA FECHA ES UNO DE ENERO
  if (i==0):
 
      print("******************** I es 0 ")
      df["Dia"] = "01/01/2017"
 
#Si la hora de la fila siguiente es mayor entonce seguimos en el mismo día, sino cambiamos de dia
 
  else:
 
      if  row2["Hora Solicitud"] >= row1["Hora Solicitud"]:
         print("******************** Hora Solicitud ] >= row1[Hora Solicitud]")
         df["Dia"] = row1["Dia"]
      else:
          print("*************SUMAMOS UNO AL DIA")
          dia = row1["Dia"]
          print(dia)
 
          df.loc[i,"Dia"] = sumar_dia(dia)
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