首页 > 其他 > 详细

06-panda缺失数据处理

时间:2020-03-08 13:44:41      阅读:78      评论:0      收藏:0      [点我收藏+]
import numpy as np
import pandas as pd
#1.数据筛选
arr1=np.array([1,None,3,4])
print(arr1)#None不能参与计算

arr2=np.arange(1000,dtype=int).sum()
print(arr2)#叠加计算

arr3=np.array([1,2,np.nan])#不方便的数字用nan代表
print(arr3)
print(arr3.sum())#nan极大值
print(np.nansum(arr3))#忽略nan计算

arr4=pd.Series([1,2,3,4,5,np.nan,None])
print(arr4)#nan与None当作缺失数据
print(type(arr4[5]))#虽然不是数字但是存储方式还是float分配的

arr5=pd.Series([1,2,3,"abc",np.nan,None])
print(arr5.isnull())#筛选缺失数据
print(arr5.notnull)#筛选确实数据
print(arr5.dropna())#过滤缺失数据

print("------------------------------------")
arr6=pd.DataFrame([[1,2,3,4,np.nan],
                   [5,6,np.nan,np.nan,np.nan],
                   [51,61,np.nan,np.nan,78],
                   [100,200,300,400,500]])
print(arr6.dropna())#筛选缺失的行
print(arr6.dropna(axis=0))#筛选缺失的行
print(arr6.dropna(axis=1))#筛选缺失的列
print(arr6.dropna(axis="columns",how="all"))#列全是nan筛选
print(arr6.dropna(axis="columns",how="any"))#列只要有一个筛选,index代表行

#2.数据填充
arr7=pd.Series([1,np.nan,2,None,"nimei"],index=list("ABCDE"))
arr7.fillna(0)#加法缺失数据填充为0
arr7.fillna(1)#乘法缺失数据填充为1

arr8=pd.Series([1,np.nan,2,None,3],index=list("ABCDE"))
arr8.fillna(method="ffill")#参考前面的值填充
arr8.fillna(method="bfill")#参考后面的值填充

arr9=pd.DataFrame([[1,2,3,np.nan,np.nan],
                   [5,6,np.nan,np.nan,np.nan],
                   [51,61,np.nan,np.nan,78],
                   [100,200,300,400,500]])
arr9.fillna(0)#所有数字填充为0
arr9.fillna(method="ffill",axis=1)#按照行填写,前方没有数据就不填
arr9.fillna(method="ffill",axis=0)#按照列填写,前方没有数据就不填

  

06-panda缺失数据处理

原文:https://www.cnblogs.com/wcyMiracle/p/12441641.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!