zoukankan      html  css  js  c++  java
  • Pandas异常值处理

    import pandas as pd
    
    #生成异常数据
    df=pd.DataFrame({'col1':[1,120,3,5,2,12,13],
                    'col2':[12,17,31,53,22,32,43]})
    
    print(df)
       col1  col2
    0     1    12
    1   120    17
    2     3    31
    3     5    53
    4     2    22
    5    12    32
    6    13    43
    
    df_zscore=df.copy() #复制一个用来存储Z-score得分的数据框
    cols=df.columns
    for col in cols:
        df_col=df[col]
        z_score=(df_col - df_col.mean()) / df_col.std() #计算每列的Z-score得分
        df_zscore[col] = z_score.abs() > 2.2 #判断Z-score得分是否大于2.2,如果是则为True,否则为False
    
    #打印,为True即异常值
    print(df_zscore)
        col1   col2
    0  False  False
    1   True  False
    2  False  False
    3  False  False
    4  False  False
    5  False  False
    6  False  False
    
    #获取无异常值的数据
    df_drop_outlier=df[df_zscore['col1']==False]
    
    #打印
    print(df_drop_outlier)
       col1  col2
    0     1    12
    2     3    31
    3     5    53
    4     2    22
    5    12    32
    6    13    43
    
  • 相关阅读:
    开发趋势
    常用的meta
    meta基础
    HTTP请求方法GET和POST
    same-origin policy----wikipedia
    跨域——同源策略(译)
    DNS问答
    TCP/IP的整理
    鉴权方法
    Web攻击技术---OWASP top
  • 原文地址:https://www.cnblogs.com/hankleo/p/11462290.html
Copyright © 2011-2022 走看看