Совершенно не понимаю, как работает pandas, всё такое нелогичное. Каждый раз, чтобы сделать какую-то элементарную вещь, нужно долго разбираться.

Вот, например, метод value_counts. Что он возвращает? что с этим потом делать? если бы value_counts возвращал, например, просто список пар, это было намного, намного проще и понятнее.

for x in X.value_counts(): — тут x это только количество.

Не могу понять, как работает следующая конструкция:

payments = payments[payments['birth_y'] != 0]

Здесь payments после выполнения будет содержать только те записи, в которых поле birth_y не равно 0.
По идее, payments[…] возвращает Series, который заведомо не целое число, так что сравнивать с 0 неуместно. Это похоже на какой-то питоний трюк. Кто знает, что это такое вообще? Может ли операция доступа по индексу как-то подменяться? Ну или что тут происходит?

Pandas — очень крутая штука. Я научился ею целиком заменять R, даже графики рисую. R меня напугал своей пхпичностью, а в Pandas кошерный питон. Вот мне и интересно, есть ли такие задачи, на которых Pandas отсасывает у R?