TypeError - объект Int не повторяется [дубликат]

Сначала конвертировать дату столбца to_datetime. Это будет группа по неделям, начиная с понедельника. Он выведет номер недели (но вы можете изменить это в

http://strftime.org/

blockquote>
df.groupby(['name', df['date'].dt.strftime('%W')])['quantity'].sum()

Выход:

name    date
apple   28      90
        29      30
orange  28      20
        30      40

6
задан bernie 18 February 2013 в 18:53
поделиться

2 ответа

Когда вы написали

for number in students:

, ваше намерение было: «Запустите этот блок кода students раз, где students - это значение, которое я только что ввел». Но на Python вы делаете передать в оператор for должен быть каким-то итерируемым объектом. В этом случае то, что вы хотите, - это просто оператор range . Это приведет к генерации списка чисел, и повторение через них позволит вашему циклу for выполнить правильное количество раз:

for number in range(students):
    # do stuff

Под капотом range просто генерирует список последовательные номера:

>>> range(5)
[0, 1, 2, 3, 4]

В вашем случае не имеет значения, каковы числа; следующие два оператора for будут делать то же самое:

for number in range(5):

for number in [1, 3, 97, 4, -32768]:

Но использование версии range считается более идиоматичным и более удобно, если вам нужно изменить какой-то список в вашем цикле (что, вероятно, вам нужно будет сделать позже).

17
ответ дан bdesham 1 September 2018 в 05:20
поделиться

Цифры нельзя повторять. То, что вы, вероятно, ищете, - это функция range, которая создаст последовательность чисел до нужного числа:

for number in range(1, students + 1):

Причина, по которой я добавил + 1 есть потому, что второй аргумент диапазона является исключительным.

2
ответ дан eagleflo 1 September 2018 в 05:20
поделиться
Другие вопросы по тегам:

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