L oop через мини-партии массива numpy? - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть массив numpy, содержащий 813698 строк:

len(df_numpy)
Out[55]: 813698

Я хочу l oop через этот массив, используя мини-пакеты по 5000.

mini_batch = 5000
i = 0
for each batch in df_numpy:
   mysubset = df_numpy[i:mini_batch+i]
   # …
   i = i + mini_batch

Проблема в том, что (len(df_numpy)-1)/mini_batch не является целым числом. Итак, последняя мини-партия не равна 5000.

Как я могу l oop, хотя df_numpy, чтобы все записи df_numpy были включены?

1 Ответ

2 голосов
/ 27 февраля 2020

Этот код должен выполнить работу:

mini_batch = 5000
for first in range(0, len(df_numpy), mini_batch):
    mysubset = df_numpy[first:first+mini_batch]
    # ...

Демо

In [2]: import numpy as np

In [3]: df_numpy = np.arange(13)

In [4]: mini_batch = 5

In [5]: for first in range(0, len(df_numpy), mini_batch):
   ...:    mysubset = df_numpy[first:first+mini_batch]
   ...:    print(mysubset)
[0 1 2 3 4]
[5 6 7 8 9]
[10 11 12]
...