• pandas.dropna/isnull/fillna/astype的用法


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

    (1)清理无效数据

    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()]) 结果一样

    (2)填充无效值

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

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

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

    (3)astype函数的使用:数据类型转换

    df['Name'] = df['Name'].astype(np.datetime64)

    DataFrame.astype() 方法可对整个DataFrame或某一列进行数据格式转换,支持Python和NumPy的数据类型。

     

  • 相关阅读:
    js判断是否为数字
    sublime3常用插件总结
    npm run build打包后自定义动画没有执行
    css实现未知元素宽高垂直居中和水平居中的方法
    vue3.0的设计目标
    chrome 80版本以后开启了SameSite
    http以及缓存、事件循环......
    vue移动端适配就这么玩
    前端性能监控
    能解决 80% 需求的 10个 CSS动画库
  • 原文地址:https://www.cnblogs.com/nxf-rabbit75/p/9298110.html
Copyright © 2020-2023  润新知