当前位置: 首页 > wzjs >正文

个人网站需要多少钱关键词研究工具

个人网站需要多少钱,关键词研究工具,北京有名的装修公司,外贸网站推广计划✅ 今日目标 熟练处理数据中的缺失值(NaN、None)学会识别和处理异常值(outliers)掌握常用的处理方法:填充、删除、替换、标准差法、箱型图法等为后续机器学习建模打好数据清洗基础 📚 一、缺失值处理&…

✅ 今日目标

  • 熟练处理数据中的缺失值(NaN、None)
  • 学会识别和处理异常值(outliers)
  • 掌握常用的处理方法:填充、删除、替换、标准差法、箱型图法等
  • 为后续机器学习建模打好数据清洗基础

📚 一、缺失值处理(Missing Data)

1. 检查缺失值

df.isnull().sum()  # 每列缺失值数量
df.info()          # 查看字段类型和非空计数

2. 删除缺失值

df.dropna()              # 删除包含缺失值的行
df.dropna(axis=1)        # 删除包含缺失值的列
df.dropna(how="all")     # 删除整行全为空

3. 填充缺失值(推荐)

df["成绩"].fillna(df["成绩"].mean(), inplace=True)      # 均值填充
df["成绩"].fillna(method="ffill", inplace=True)          # 前向填充
df["成绩"].fillna(method="bfill", inplace=True)          # 后向填充

4. 替换无效数据为 NaN

import numpy as np
df["成绩"].replace("缺考", np.nan, inplace=True)

⚠️ 二、异常值检测与处理

1. 基于统计分布检测异常值(Z-Score)

score_mean = df["成绩"].mean()
score_std = df["成绩"].std()df["Z值"] = (df["成绩"] - score_mean) / score_std# 筛选 Z 分数绝对值大于 3 的异常点
outliers = df[abs(df["Z值"]) > 3]
print(outliers)

2. 使用箱型图(IQR)识别异常值

Q1 = df["成绩"].quantile(0.25)
Q3 = df["成绩"].quantile(0.75)
IQR = Q3 - Q1lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR# 判断异常值
outliers_iqr = df[(df["成绩"] < lower_bound) | (df["成绩"] > upper_bound)]
print(outliers_iqr)

3. 替换或删除异常值

# 方法一:直接删除
df_cleaned = df[(df["成绩"] >= lower_bound) & (df["成绩"] <= upper_bound)]# 方法二:用边界值替代异常值
df["成绩"] = df["成绩"].clip(lower_bound, upper_bound)

🧪 今日练习建议

  1. 对学生数据进行缺失值统计

  2. 使用多种方法填充缺失成绩

  3. 使用标准差(Z-Score)和 IQR 方法检测异常值

  4. 对异常值进行合理处理(删除 / 替换)

  5. 输出处理前后的对比数据统计信息

    import pandas as pd
    import numpy as np
    import seaborn as sns
    import matplotlib.pyplot as plt
    import os# 设置中文支持(根据系统配置选择)
    plt.rcParams['font.family'] = 'Arial Unicode MS'  # macOS
    # plt.rcParams['font.sans-serif'] = ['SimHei']     # Windows
    plt.rcParams['axes.unicode_minus'] = False# 加载数据
    data_path = "data/students_dirty.csv"
    if not os.path.exists(data_path):raise FileNotFoundError("❌ 缺少数据文件:students_dirty.csv,请确保数据文件存在于 data 目录下。")df = pd.read_csv(data_path, encoding="utf-8", header=0)
    print("✅ 原始数据预览:")
    print(df)# ------------------ 一、缺失值处理 ------------------print("\n🔍 缺失值统计:")
    print(df.isnull().sum())# 示例:将“缺考”字符串替换为 NaN
    df.replace({"缺考": np.nan}, inplace=True)
    df["成绩"] = pd.to_numeric(df["成绩"], errors="coerce")# 填充缺失值(用平均数填充)
    mean_score = df["成绩"].mean()
    df.fillna({"成绩": mean_score}, inplace=True)
    print(f"\n✅ 缺失值已填充为平均数:{mean_score:.2f}")# ------------------ 二、异常值检测(Z-Score) ------------------mean = df["成绩"].mean()
    std = df["成绩"].std()
    df["Z值"] = (df["成绩"] - mean) / std# 绝对值大于 3 视为异常
    outliers_z = df[abs(df["Z值"]) > 3]
    print(f"\n📈 Z-Score 异常值数量:{len(outliers_z)}")
    print(outliers_z)# ------------------ 三、异常值检测(IQR) ------------------Q1 = df["成绩"].quantile(0.25)
    Q3 = df["成绩"].quantile(0.75)
    IQR = Q3 - Q1
    lower = Q1 - 1.5 * IQR
    upper = Q3 + 1.5 * IQRoutliers_iqr = df[(df["成绩"] < lower) | (df["成绩"] > upper)]
    print(f"\n📊 IQR 异常值数量:{len(outliers_iqr)}")
    print(outliers_iqr)# ------------------ 四、异常值处理 ------------------# 方式一:删除异常值
    df_filtered = df[(df["成绩"] >= lower) & (df["成绩"] <= upper)]# 方式二:clip 限制在边界范围内
    df_clipped = df.copy()
    df_clipped["成绩"] = df_clipped["成绩"].clip(lower, upper)# ------------------ 五、可视化箱型图 ------------------sns.boxplot(df["成绩"])
    plt.title("成绩箱型图")
    plt.tight_layout()
    os.makedirs("charts", exist_ok=True)
    plt.savefig("charts/成绩箱型图_异常值检测.png")
    plt.close()
    print("📊 箱型图已保存至 charts/成绩箱型图_异常值检测.png")# ------------------ 六、保存结果 ------------------df_filtered.to_csv("data/students_no_outliers.csv", index=False)
    df_clipped.to_csv("data/students_clipped.csv", index=False)print("\n✅ 异常值处理后的数据已保存:")
    print("✔️ 删除异常值版本:data/students_no_outliers.csv")
    print("✔️ 边界裁剪版本:data/students_clipped.csv")
    

    成绩箱型图_异常值检测:
    在这里插入图片描述

    将异常值裁剪为上下限后的数据:
    在这里插入图片描述

    删除异常值后的数据:
    在这里插入图片描述


🧾 今日总结

  • 缺失值和异常值是数据清洗中的核心问题
  • 多种处理方法需视场景选择,避免信息损失或过度拟合
  • 数据分布图与 Z 分数 / IQR 辅助判断效果最佳
  • 清洗结果直接影响后续的建模质量
http://www.dtcms.com/wzjs/173827.html

相关文章:

  • 用家庭宽带做网站百度推广怎么做最好
  • python做网站赚钱安卓优化大师历史版本
  • 郑州建网站的公司微信指数怎么看
  • 德州市网站建设优秀的营销案例
  • 国外做储物的网站网络营销以什么为中心
  • 儋州个人建站哪家好百度认证号码平台
  • 设计专业笔记本电脑推荐百度seo泛解析代发排名
  • 郑州建设局网站百度的广告推广需要多少费用
  • 北京建网江门搜狗网站推广优化
  • 资中移动网站建设seo外包优化公司
  • 广西崇左市住房和城乡建设局网站软文标题例子
  • 网站设计公司 上百度认证怎么认证
  • 苏州妙笔网络科技有限公司电商seo是什么
  • 网站主机ip是独立的好一键建站
  • 做dj网站用什么建站系统比较好网络培训课程
  • 做物品租赁网站网站设计制作在哪里找
  • 吴江网站建设哪家好谷歌seo推广服务
  • 域名备案与网站不一致seo刷关键词排名优化
  • 自己做网站好还是凡科关键词排名监控批量查询
  • 网站怎么做区域性优化网站排名软件推荐
  • 玛伊网站做兼职加入要多少钱网站百度权重
  • 关于网站建设live2500优化模型
  • 网页设计的首页如何设计官网进一步优化落实
  • 石家庄商标设计网络优化app哪个好
  • wordpress b站视频网站推广的目的
  • 司法网站建设运营情况淘宝运营培训班哪里有
  • 中国旅游预订网站的建设始于哪一年武汉网络推广有限公司
  • 2023年小微企业所得税优惠政策seo网站推广价格
  • 成都个人网站建设哪个网站是免费的
  • 网站图标生成交换链接营销的经典案例