Правильный синтаксис присваивания переменной
Необходимо обновленную таблицу присвоить новой переменной. Можно в одну строку, а как сделать, чтобы было в несколько строк. В скобках calls также выдает ошибку.
calls =
(
df_calls
.groupby(['user_id', 'month'])
['duration']
.agg(['count', 'sum'])
.reset_index()
)
Ответы (2 шт):
Как-то так должно работать. Продолжение кода на следующей строке в питоне осуществляется с помощью бэкслэша:
calls = \
df_calls \
.groupby(['user_id', 'month']) \
['duration'] \
.agg(['count', 'sum']) \
.reset_index()
Возможно, где-то \ можно и не писать, но это нужно проверять.
Правило такое: Когда разделить команду на 2 или более строк, надо Питон предупредить, что команда еще не завершилась и будет продолжаться на следующей строке:
- знаком
\как последним в текущей строке, - но этого не надо сделать когда продолжение строки следует неявно
- из отсутствия (пока) заключающей (т.е. правой) круглой скобки,
- из отсутствия (пока) заключающей (т.е. правой) квадратной скобки,
- из отсутствия (пока) заключающей (т.е. правой) фигурной скобки.
Пример:
calls = (
df_calls
.groupby(['user_id', 'month'])
['duration']
.agg(['count', 'sum'])
.reset_index()
)
Не надо (но возможно) писать ни одного \, потому что всё время ждется правая круглая скобка - к первой левой скобке в первой строке.
См. рекомендацию
Предпочтительный способ переноса длинных строк является использование подразумеваемых продолжений строк Python внутри круглых, квадратных и фигурных скобок. Длинные строки могут быть разбиты на несколько строк, обернутые в скобки. Это предпочтительнее использования обратной косой черты для продолжения строки.
в части Максимальная длина строки в документе PEP 8 - руководство по написанию кода на Python.