2016-07-26 2 views

ответ

9

Попробуйте использовать itertools.islice

from itertools import * 

for index, row in islice(df.iterrows(), 1, None): 
+2

Я думаю, что это лучше, чем мой подход +1 – bernie

0

Sure:

for i,(index,row) in enumerate(df.iterrows()): 
    if i == 0: continue # skip first row 

Или что-то вроде:

for i,(index,row) in enumerate(df.iterrows()): 
    if i < 5: continue # skip first 5 rows 
+1

Может быть, лучший способ \ * ждет других ответов \ * – bernie

+0

спасибо birnie :) Я тоже думал, что должен быть лучший путь, чем цикл – SaikiHanee

+2

Ниже приведен эквивалент ответа @ bernie, но может быть более читабельным: 'for index , строка в itertools.islice (df.iterrows(), 5, None): '. –

8

я знаю, что это есть ответ, но почему бы не просто сделать:

for i, r in df.iloc[1:].iterrows(): 
+1

Я бы предпочел этот путь через 'islice'. 'iterrows' может быть очень дорогим (превращая ряды в Series); вам все равно нужно сгенерировать все строки, которые вы проигнорируете, прежде чем перейти к начальному индексу, указанному в 'islice'. –

Смежные вопросы