熊猫如何处理缺失值

  

在实际应用中对于数据进行分析的时候,经常能看见缺失值、下面来介绍一下如何利用熊猫来处理缺失值。常见的缺失值处理方式,有过滤,填充。

  


  

  

熊猫使用浮点值南(不是一个数字)表示浮点数和非浮点数组中的缺失值,同时python内置没有值也会被当作是缺失值。

  

,系列的缺失值判断

        s=系列([np.nan“a”、“b”,“c”,没有一个))   打印(s)   “‘   0一个   1 b   2南   3 c   4没有   “‘   #判断缺失值,如果是则返回真,否则返回错误的   print (s.isnull ())   “‘   0错误   1假   2真   3错误   4真   “‘   #输出缺失值的索引和值   打印(s [s.isnull ()))   “‘   2南   4没有   “‘   之前      

b, DataFrame的缺失值判断

        np.nan=[[1, 2],[3、4、没有]]   data=https://www.yisu.com/zixun/DataFrame(一个)   # DataFrame的值没有变成了南   打印(数据)”   0 1 2   0 1南2.0   1 3 4.0南   “‘   print (data.isnull ())   “‘   0 1 2   0假真的假   1假假真   “‘   打印(数据(data.isnull ()))   “‘   0 1 2   0南南南   1南南南   “‘   之前      

注意:在使用系列和DataFrame的时候,如果其中有值为None,系列会输出,而DataFrame会输出南,但是对空值判断没有影响.DataFrame使用isnull方法在输出空值的时候全为南,因为DataFrame对于虚假的对应的位置,输出值会使用南代替,而系列对于Fasel对应的位置是没有输出值的。
  

  


  

  

<强>,系列的缺失值过滤

        s=系列([np.nan“a”、“b”,“c”,没有一个))   #通过使用notnull方法来获取非缺失数据   打印(s [s.notnull ()))   “‘   0一个   1 b   3 c   “‘   #使用dropna方法删除缺失数据,返回一个删除后的系列   print (s.dropna ())   “‘   0一个   1 b   3 c   “‘   #并没有在原来的系列上进行直接删除   打印(s)   “‘   0一个   1 b   2南   3 c   4没有   “‘   #通过设置原地参数为真,在原系列上进行删除,不会返回系列   print (s.dropna(原地=True))   #没有   打印(s)   “‘   0一个   1 b   3 c   “‘   之前      

<强> b, DataFrame的缺失值过滤
  

  

DataFrame删除缺失值相对于系列而言就要复杂一些,也许有的时候你是想删除含有缺失值的行或列,也许有时候你需要删除的是,当整行或整列全为缺失值的时候才删除,好在熊猫对于这两种情况都有相对应的处理方法。

  

1,删除含有缺失值的行和列

        a=[[1, np。南2],[9没有np。南],[3、4、没有],[5 6 7]]   data=https://www.yisu.com/zixun/DataFrame(一个)   打印(数据)”   0 1 2   0 1南2.0   1 9南南   2 3 4.0南   3 5 6.0 - 7.0   “‘   #使用dropna方法删除含有缺失值的行,默认是行   print (data.dropna ())   “‘   0 1 2   3 5 6.0 - 7.0   “‘   #删除含有缺失值的列   print (data.dropna(轴=1)   “‘   0   0 1   1 9   2 3   3个5   “‘   之前      

2,删除全为NaN的行和列
  

        a=[[1, np。南2]、[np.nan,没有一个np。南),3,没有,没有,[5一7]]   data=https://www.yisu.com/zixun/DataFrame(一个)   打印(数据)”   0 1 2   0 1.0南2.0   1南南南   2 3.0南南   3 5.0南7.0   “‘   #当行全为NaN的时候,才删除,参数如何默认是任何含有缺失值就删除   print (data.dropna(="所有"))   “‘   0 1 2   0 1.0南2.0   2 3.0南南   3 5.0南7.0   “‘   #当列全为NaN的时候,才删除   print (data.dropna(=八小?轴=1))   “‘   0 2   0 1.0 2.0   1南南   2 3.0南   3 5.0 - 7.0   “‘   之前      

dropna方法的原地的设置与系列一样。
  

  

3,指定删除数据后显示部分数据观察

        a=[[1, np。南2]、[np.nan,没有一个np。南),3,没有,没有,[5一7]]   data=https://www.yisu.com/zixun/DataFrame(一个)   打印(数据)”   0 1 2   0 1.0南2.0   1南南南   2 3.0南南   3 5.0南7.0   “‘   #当行全为NaN的时候,才删除,参数如何默认是任何含有缺失值就删除   print (data.dropna(="所有"))   “‘   0 1 2   0 1.0南2.0   2 3.0南南   3 5.0南7.0   “‘   #通过打参数来控制显示删除数据的条数,删除列的时候打参数无效   打印(data.dropna(=八小?如何打=2))   “‘   0 1 2   0 1.0南2.0   3 5.0南7.0   “‘   

熊猫如何处理缺失值