zoukankan      html  css  js  c++  java
  • pandas----高级处理-缺失值处理

    类似

    如何处理nan

    判断数据中是否包含NaN:

    pd.isnull(df)

    pd.notnull(df)

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt

    movie = pd.read_csv("./data/IMDB-Movie-Data.csv")

    movie.head()

    缺失值是nan

    np.all(pd.notnull(movie))  # 里面如果有一个缺失值,那么会返回False,说明有缺失值

    np.any(pd.isnull(movie))  # 里面如果有一个缺失值,那么会返回True,说明有缺失值

    data = movie.dropna()      #整行删除
    np.all(pd.notnull(data))  # 里面如果有一个缺失值,那么会返回False,说明有缺失值

    替换缺失值:fillna(value, inplace=True)

    value:替换成的值

    inplace:True:会修改原数据,False:不替换修改原数据,生成新的对象

    movie["Revenue (Millions)"].mean()   #求平均值
    movie["Revenue (Millions)"].fillna(movie["Revenue (Millions)"].mean(), inplace=True)

    将数据集中的所有缺省值替换为平均值:

    for i in movie.columns:
        if np.any(pd.isnull(movie[i])) == True:
            print(i)
            movie[i].fillna(movie[i].mean(), inplace=True)

    缺失值是其他符号(如“?”)

    处理思路分析:

    先替换‘?’为np.nan

    df.replace(to_replace=, value=)

    • to_replace:替换前的值
    • value:替换后的值
    wis = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data")
    wis.head()

    wis = wis.replace(to_replace="?", value=np.nan)
    wis.head()

    wis = wis.dropna()
    np.any(pd.isnull(wis))  # 里面如果有一个缺失值,那么会返回True,说明有缺失值
  • 相关阅读:
    美国队长
    weka数据预处理
    weka特征选择(IG、chi-square)
    生成arff文件,csv转为arff
    logistic regression的一些问题,不平衡数据,时间序列,求解惑
    Feature Scaling
    【转】机器学习问题方法总结
    Canopy算法聚类
    ROC曲线及AUC评价指标
    评估指标:准确率(Precision)、召回率(Recall)以及F值(F-Measure)
  • 原文地址:https://www.cnblogs.com/a155-/p/14347026.html
Copyright © 2011-2022 走看看