python数据分析--缺失值的填充与删除

数据来源:和鲸社区-Numpy+Pandas数据处理·第五关
主要内容:

  • 查看是否有缺失值
  • 填充缺失值fillna()
  • 删除缺失值
导入数据
import pandas as pd
filepath10 = '/home/mw/input/Pandas_exercise2020/iris.data'
iris = pd.read_csv(filepath10, sep=',', header=None)
iris.head()
# 创建数据框的列名称('sepal_length','sepal_width', 'petal_length', 'petal_width', 'class')
iris.columns = ['sepal_length','sepal_width', 'petal_length', 'petal_width', 'class']
iris.head()
缺失值查看
#  数据框中有缺失值吗?
iris.isnull().values.any()
缺失值填充
# 将列petal_length的第10到19行设置为缺失值
import numpy as np
iris.loc[9:18,'petal_length'] = np.nan
iris[8:20]
# 将缺失值全部替换为1.0¶
iris.fillna(value=1.0, inplace=True)
iris[8:20]
删除缺失值

    # 删除所有值缺失的行
    #     df.dropna()
    # 删除所有有缺失值的列
    #     df.dropna(axis=1)
    #     df.dropna(axis='columns')
    # 删除至少有两个非缺失值的行
    #     df.dropna(thresh=2)
    # 删除所有值缺失的行
    #     df.dropna(how='all')
    # 指定判断缺失值的列范围
    #     df.dropna(subset=['name', 'born'])
    # 使删除和的结果生效
    #     df.dropna(inplace=True)
    # 指定列的缺失值删除
    #     df.toy.dropna()

    # dropna( axis=0, how=‘any’, thresh=None, subset=None, inplace=False)
    #     axis:
    #         axis参数确定是否删除包含缺失值的行或列
    #         axis=0或axis='index’删除含有缺失值的行,
    #         axis=1或axis='columns’删除含有缺失值的列,
    #     how参数:
    #         当我们至少有一个NA时,确定是否从DataFrame中删除行或列
    #         how='all’或者how=‘any’。
    #         how='all’时表示删除全是缺失值的行(列)
    #         how='any’时表示删除只要含有缺失值的行(列)
    # 相关资料:
    #     https://blog.csdn.net/happy_wealthy/article/details/108576944
#  将数据框前三行设置为缺失值
iris.loc[:3] = np.NaN
iris.head()
# 删除只要含有缺失值的行(列)
iris.dropna(how='any', inplace=True)
iris

你可能感兴趣的:(学记笔记,python,数据分析,pandas)