Запрашивать у пользователя целое число 2 > и > 9 в С

Результат df.groupby(...) не является DataFrame. Чтобы вернуть DataFrame, вам нужно применить функцию к каждой группе, преобразовать каждый элемент группы или фильтровать группы.

Кажется, что вам нужен DataFrame, содержащий (1) все ваши оригинальные данные в df и (2) подсчет количества данных в каждой группе. Эти вещи имеют разную длину, поэтому, если им нужно зайти в один и тот же DataFrame, вам нужно будет перечислять размер избыточно, т. Е. Для каждой строки в каждой группе.

df['size'] = df.groupby(['A','B']).transform(np.size)

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

0
задан Steve Rose 17 January 2019 в 03:32
поделиться

1 ответ

Вы никогда не войдете в проверку условия while(n < 2) во время выполнения предыдущей проверки условия или return n. то есть. он зацикливается на while (n > 8), когда условие истинно, или return n выполняется, когда условие не выполняется. Поэтому он никогда не выполнит вторую проверку условия while (n < 2).

Попробуйте реализовать логическое ИЛИ в одном цикле while, как показано ниже

int between_2_and_8(string prompt)
{
    int n;
    do
    {
        n = get_int("%s", prompt);
    }
    while (n < 3 || n > 8);// Loops around until n is either less than 2 or greater than 8
    return n;

}

Редактировать : Исправления, сделанные при проверке состояния

0
ответ дан Sathiya 17 January 2019 в 03:32
поделиться
Другие вопросы по тегам:

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