Итерация по 3 строкам одновременно в Python 3 с помощью itertools () - PullRequest
0 голосов
/ 22 февраля 2019

Этот фрагмент кода помогает перебирать 2 строки одновременно.Как мы можем перебрать 3 строки одновременно в кадре данных в пандах?

Например

1,2,3

2,3,4

3,4,5 и т. Д.

from itertools import tee
from itertools import zip_longest as izip
def pairwise(iterable):
    "s -> (s0,s1), (s1,s2), (s2, s3), ..."
    a, b = tee(iterable)
    next(b, None)
    return izip(a, b)

for (idx1, row1), (idx2, row2) in pairwise(stock_fut.iterrows()):
    print(idx1,row1,"\n\n",idx2,row2,"\n\n")

1 Ответ

0 голосов
/ 23 февраля 2019

Этот код работал

from itertools import tee
from itertools import zip_longest as izip
def pairwise(iterable):
    "s -> (s0,s1), (s1,s2), (s2, s3), ..."
    a, b, c = tee(iterable,3)
    next(b);next(c);next(c)
    return izip(a, b, c)

for (idx1, row1), (idx2, row2), (idx3, row3) in pairwise(stock_fut.iterrows()):
    print(idx1,row1,"\n\n",idx2,row2,"\n\n",idx3, row3,"\n\n")
...