zoukankan      html  css  js  c++  java
  • python进行数据清理之pandas中的drop用法

    好久好久没有更新博客了,之前自学的估计也都忘记差不多了。由于毕业选择从事的行业与自己的兴趣爱好完全两条路,心情也难过了很久,既然入职了就要好好干,仍要保持自己的兴趣,利用业余时间重拾之前的乐趣。

    从基本的数据清理学起吧

    讲一下drop函数的用法

    删除表中的某一行或者某一列更明智的方法是使用drop,它不改变原有的df中的数据,而是可选择性的返回另一个dataframe来存放删除后的数据。

    删除无效项

    df[df.isnull()]  #返回的是个true或false的Series对象(掩码对象),进而筛选出我们需要的特定数据。
    df[df.notnull()]
    df.dropna()     #将所有含有nan项的row删除
    df.dropna(axis=1,thresh=3)  #将在列的方向上三个为NaN的项删除
    df.dropna(how='ALL')        #将全部项都是nan的row删除

    这里面,print(data.dropna() )和 print(data[data.notnull()] )结果一样

    填充空缺项

    df.fillna(0)
    df.fillna({1:0, 2:0.5})         #对第一列nan值赋0,第二列赋值0.5
    df.fillna(method='ffill')   #在列方向上以前一个值作为值赋给NaN

     

    method : {‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}, default None

    pad/ffill:用前一个非缺失值去填充该缺失值

    backfill/bfill:用下一个非缺失值填充该缺失值

    None:指定一个值去替换缺失值

    drop函数的使用:

    (1)删除行、列

    print(frame.drop(['a']))
    print(frame.drop(['b'], axis = 1))#drop函数默认删除行,列需要加axis = 1

    (2)inplace参数

    1. DF.drop('column_name', axis=1);
    2. DF.drop('column_name',axis=1, inplace=True)
    3. DF.drop([DF.columns[[0,1, 3]]], axis=1, inplace=True)  

    对原数组作出修改并返回一个新数组,往往都有一个 inplace可选参数。如果手动设定为True(默认为False),那么原数组直接就被替换。也就是说,采用inplace=True之后,原数组名对应的内存值直接改变(如2和3情况所示);

    而采用inplace=False之后,原数组名对应的内存值并不改变,需要将新的结果赋给一个新的数组或者覆盖原数组的内存位置(如1情况所示)。

    DataFrame.drop(labels=Noneaxis=0index=Nonecolumns=Nonelevel=Noneinplace=Falseerrors='raise')

  • 相关阅读:
    Civil 3D .NET二次开发第11章代码升级至2018版注意事项
    创建道路曲面
    ObjectARX® for Beginners: An Introduction
    mshcMigrate制作的mshc文件中有链接打不开
    Word 2013无法发布文章到博客园
    ionic 安装插件报错:源文本中存在无法识别的标记
    typescript文件中 使用回调函数无法调用函数外的变量和方法的办法
    ionic2---自定义插件
    angular2----使用swiper做轮播图
    angular2----router
  • 原文地址:https://www.cnblogs.com/freeman818/p/10494314.html
Copyright © 2011-2022 走看看