DrPepper8888 / IPMN

0 stars 0 forks source link

异常值处理 #14

Open DrPepper8888 opened 3 months ago

DrPepper8888 commented 3 months ago
import pandas as pd
from pyspark.sql.functions import col

# 假设 df 是您的 PySpark DataFrame
# 将 PySpark DataFrame 转换为 Pandas DataFrame
df_pandas = df.toPandas()

# 计算每个特征的统计描述
summary = df_pandas.describe()

# 根据统计描述确定异常值的阈值(例如,使用1.5倍的IQR)
q1 = summary.quantile(0.25)
q3 = summary.quantile(0.75)
iqr = q3 - q1
lower_bound = q1 - 1.5 * iqr
upper_bound = q3 + 1.5 * iqr

# 移除异常值
df_cleaned_pandas = df_pandas[(df_pandas >= lower_bound) & (df_pandas <= upper_bound)]

# 将清理后的 Pandas DataFrame 转换回 PySpark DataFrame
df_cleaned = spark.createDataFrame(df_cleaned_pandas, schema=df.schema)

# 接下来,您可以继续在 PySpark DataFrame 上进行聚类或其他操作