Что выведет код Junior Окна и сдвиги спрашивают часто обновлено

shift, diff и cumsum

Вопрос

Что выведет код? По строке на каждый print.

import pandas as pd

s = pd.Series([100, 120, 90, 135])
print(s.shift(1).tolist())
print(s.diff().tolist())
print(s.cumsum().tolist())

Попробуйте сами

Напишите, что выведет код: каждый вывод с новой строки.

Показать ответ и разбор

Коротко

Код выведет: [nan, 100.0, 120.0, 90.0], [nan, 20.0, -30.0, 45.0], [100, 220, 310, 445]. shift(1) сдвигает значения вниз, первая строка NaN, и из-за NaN тип становится float. diff это s - s.shift(1). cumsum накопительная сумма, NaN нет, поэтому тип остаётся целым.

Что выведет

[nan, 100.0, 120.0, 90.0]
[nan, 20.0, -30.0, 45.0]
[100, 220, 310, 445]

Разбор

shift(1) сдвигает значения вниз, первая строка NaN, и из-за NaN тип становится float. diff это s - s.shift(1). cumsum накопительная сумма, NaN нет, поэтому тип остаётся целым.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.