Эффективные методы проверки числовых значений в DataFrame

При работе с данными в DataFrame часто бывает важно определить, содержит ли строка числовые значения или нет. В этой статье мы рассмотрим несколько методов выполнения этой задачи с использованием Python и pandas. Мы предоставим примеры кода для каждого метода, что позволит вам выбрать тот, который соответствует вашим конкретным потребностям. Давайте погрузимся!

Методы проверки числовых значений в кадре данных:

Метод 1: использование функции applymap()

import pandas as pd
def check_numeric(row):
    return row.apply(lambda x: isinstance(x, (int, float)))
df.applymap(check_numeric)

Метод 2: использование функции select_dtypes()

numeric_cols = df.select_dtypes(include=[int, float]).columns
df[numeric_cols]

Метод 3: использование функции to_numeric()

df.apply(pd.to_numeric, errors='coerce').notnull()

Метод 4. Использование регулярных выражений и функции str.contains()

import numpy as np
numeric_mask = df.applymap(lambda x: isinstance(x, str) and bool(re.match(r'^\d+?\.\d+?$|^\d+?$', x)))
numeric_mask = numeric_mask.replace(False, np.nan)
numeric_mask

Метод 5: использование функции infer_objects()

df.infer_objects().select_dtypes(include=[int, float])

Метод 6: использование функции str.isnumeric()для строковых столбцов

numeric_mask = df.applymap(lambda x: isinstance(x, str) and x.isnumeric())
numeric_mask

В этой статье мы рассмотрели несколько методов проверки того, содержит ли строка в DataFrame числовые значения или нет. Мы предоставили примеры кода для каждого метода, что дает вам возможность выбрать наиболее подходящий подход в соответствии с вашими требованиями. Используя эти методы, вы можете эффективно решать задачи проверки и анализа данных. Приятного кодирования!