Библиотека Pandas Python предоставляет мощный инструмент DataFrames для работы с табличными данными. При работе с большими наборами данных часто необходимо извлечь определенные столбцы в зависимости от их типа данных. В этой статье блога мы рассмотрим различные методы выбора числовых столбцов из DataFrame, используя разговорный язык и примеры кода.
Метод 1: использование dtypes
Самый простой способ идентифицировать числовые столбцы в DataFrame — проверить типы данных каждого столбца. Атрибут dtypes возвращает серию, содержащую тип данных каждого столбца. Мы можем использовать эту информацию для выбора только числовых столбцов.
numeric_cols = df.dtypes[df.dtypes == 'float64'].index.tolist()
Метод 2: использование select_dtypes
Метод select_dtypes позволяет нам фильтровать столбцы на основе их типов данных. Передав параметр include=’number’, мы можем извлечь все числовые столбцы из DataFrame.
numeric_cols = df.select_dtypes(include='number').columns.tolist()
Метод 3: использование infer_objects
Иногда столбцы с числовыми данными могут быть ошибочно назначены как типы данных объекта. В таких случаях мы можем использовать метод infer_objects, чтобы определить правильные типы данных, а затем выбрать числовые столбцы.
df = df.infer_objects()
numeric_cols = df.select_dtypes(include='number').columns.tolist()
Метод 4: применение функции is_numeric_dtype
Библиотека pandas предоставляет функцию is_numeric_dtype для проверки того, является ли данный тип данных числовым. Мы можем использовать эту функцию в сочетании с методом apply для фильтрации и выбора числовых столбцов.
from pandas.api.types import is_numeric_dtype
numeric_cols = df.columns[df.columns.to_series().apply(lambda x: is_numeric_dtype(df[x]))].tolist()
Метод 5: объединение логического индексирования с to_numeric
Если некоторые столбцы содержат числовые данные, но их типы данных не распознаются как числовые, мы можем преобразовать их с помощью функции to_numeric. Затем мы можем объединить логическое индексирование с преобразованными столбцами, чтобы выбрать все числовые столбцы.
numeric_cols = df.columns[pd.to_numeric(df.columns, errors='coerce').notnull()].tolist()
В этой статье мы рассмотрели пять различных методов выбора числовых столбцов из DataFrame Python. Используя такие методы, как проверка типов данных, использование select_dtypes, infer_objects, is_numeric_dtype и сочетание логического индексирования с to_numeric, вы можете уверенно извлекать числовые столбцы, необходимые для ваших задач анализа данных.