Бог IEnumerable в цикле foreach

При чтении из файла .csv по умолчанию первая строка считается строкой заголовка. Вы должны указать, что это не так. Итак, добавьте header=None в read_csv. Вот так:

df = pd.read_csv(io.StringIO(dataset.decode('utf-8')), header=None)

Кроме того, один из способов получить желаемый результат:

data=[]
for r1, r2, r3 in df.values:
    data.append([r1,r2,r3])
5
задан Community 23 May 2017 в 12:15
поделиться

2 ответа

Вместо этого вам нужно использовать комбинацию SkipWhile и TakeWhile .

foreach (int i in Fibonacci().SkipWhile(n => n < 24)
                             .TakeWhile(n => n <= 56))
{
   Console.WriteLine(i);
}

Они могут завершать циклы в зависимости от условия; Где передает свой ввод (фильтруя соответственно), пока не закончится ввод (в вашем случае, никогда).

12
ответ дан 13 December 2019 в 22:16
поделиться

Я не думаю, что это возможно, если вы не напишите своего собственного поставщика LINQ. В приведенном вами примере вы используете LINQ to Objects, который должен полностью оценить IEnumerable, прежде чем он сможет применить к нему фильтр.

-2
ответ дан 13 December 2019 в 22:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: