在实际应用中对于数据进行分析的时候,经常能看见缺失值、下面来介绍一下如何利用熊猫来处理缺失值。常见的缺失值处理方式,有过滤,填充。
熊猫使用浮点值南(不是一个数字)表示浮点数和非浮点数组中的缺失值,同时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 “‘熊猫如何处理缺失值