Попробуйте эти 3 малоизвестные функции Pandas

Совершенствуйте свои навыки обработки данных с помощью панд

Если вы спросите любого опытного специалиста по данным и инженера по машинному обучению, на что уходит больше всего времени в его работе? Думаю, многие из них скажут: предварительная обработка данных — этап, который очищает данные и подготавливает их к последовательному анализу данных. Причина проста — мусор на входе, мусор на выходе. То есть, если вы неправильно подготовите данные, ваше «понимание» данных вряд ли будет иметь смысл.

Хотя этап предварительной обработки данных может быть довольно утомительным, Pandas предоставляет все необходимые функции, которые позволяют нам относительно легко выполнить работу по очистке данных. Однако из-за своей универсальности не каждый пользователь знает все функции, которые может предложить библиотека pandas. В этой статье я хотел бы поделиться тремя менее известными, но очень полезными функциями, которые вы можете попробовать в своих проектах по науке о данных.

Без дальнейших церемоний, давайте углубимся.

Примечание. Для наглядности предположим, что вы отвечаете за управление данными и их анализ в магазине одежды. Примеры, показанные ниже, основаны на этом предположении.

1. взорваться

Первая функция, которую я хочу упомянуть, это explode. Эта функция полезна, когда вы имеете дело с данными в столбце, содержащем списки. Когда вы используете explode с этим столбцом, вы создаете несколько строк, извлекая каждый элемент списка в отдельные строки.

Вот простой пример кода, показывающий, как использовать функцию explode. Предположим, что у вас есть фрейм данных, в котором хранится информация о заказе. В этой таблице есть столбец (т. е. столбец order), содержащий списки элементов, как показано ниже:

order_data = {
    'customer': ['John', 'Zoe', 'Mike'],
    'order': [['Shoes', 'Pants', 'Caps'], ['Jackets', 'Shorts'], ['Ties', 'Hoodies']]
}
order_df = pd.DataFrame(order_data)
order_df

Необходимая операция — разбить каждый элемент списка на отдельную строку для дальнейшей обработки данных. Без использования explode наивным решением может быть следующее. Мы просто повторяем исходные строки…