Open DrPepper8888 opened 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 上进行聚类或其他操作