При работе с данными в 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 числовые значения или нет. Мы предоставили примеры кода для каждого метода, что дает вам возможность выбрать наиболее подходящий подход в соответствии с вашими требованиями. Используя эти методы, вы можете эффективно решать задачи проверки и анализа данных. Приятного кодирования!