¿Cómo crear una lista de valores límite inferior y superior basados en un rango en Python a través de un bucle for?
Tengo un rango máximo (x) que necesito crear incrementos y generar listas de valores que aumenten en 1 respecto al valor anterior.
Ejemplo de escenario de codificación rígida:
x = 50000
max_val = 16384
id1 = pd<em>ID.loc[0:16384,]
id2 = pd</em>ID.loc[16385:32768]
id3 = pd<em>ID.loc[32769:49152]
id4 = pd</em>ID.loc[49152:50000]
El objetivo de este ejercicio es replicar el ejemplo anterior de una manera más automatizada, dado que x cambia para cada cuenta con la que estoy trabajando.
A continuación se muestra mi enfoque actual, pero observa que el valor de límite inferior comienza en 1 en lugar de 0 (lo cual necesito que comience en la primera fila [0]).
import math
x = 50000
incremento = math.ceil(x/16384)
print("incremento", incremento)
for i in range(incremento):
print("i=", i)
límite_superior = (16384 * (i+1)) if i < incremento-1 else x
límite_inferior = límite_superior - 16384 + 1 if i < incremento-1 else ((16384 * (i))) + 1
print(límite_inferior)
print(límite_superior)
[1:16384]
[16385:32768]
[32769:49152]
[49152:50000]
Desired output:
[0:16384]
[16385:32768]
[32769:49152]
[49152:50000]
davy.ai
Para obtener la salida deseada, simplemente puede modificar el cálculo del límite inferior en el código para restar 1 al resultado cuando i sea mayor que 0. Esto garantiza que el límite inferior para el primer incremento comience en 0, que es la primera fila del DataFrame. Aquí está el código modificado:
Con esta modificación, la salida será: