python - 遗失值处理
发布日期:2021-06-30 19:51:10
浏览次数:2
分类:技术文章
本文共 2155 字,大约阅读时间需要 7 分钟。
侦测遗失值
# coding: utf-8# ## 检测缺失值# In[2]:import pandas as pdimport numpy as npdf = pd.DataFrame([ ['frank', 'M', np.nan], ['mary' , np.nan, np.nan], ['tom' , 'M', 35], ['ted' , 'M', 33], ['jean' , np.nan, 21], ['lisa' , 'F', 20]])df.columns = ['name', 'gender', 'age']df# In[38]:df.isnull()# In[4]:# 检查是否含有缺失值(每个元素)df['gender']# In[6]:df['gender'].isnull() # 返回一个boolean 的矩阵# In[13]:# (某字段)df.name.isnull().any() # =可迭代对象是否有一个是True,all 相反# In[23]:df.gender.isnull().any() # In[30]:df.isnull().any()# In[31]:df.isnull().values.any() # 先将序列转为 numpy.ndarray,在判断是否有缺失值# In[33]:# 检测缺失值的个数df.gender.isnull().sum()# In[35]:df.isnull().sum()# In[39]:df.isnull().values.sum()
处理遗失值
1. 当缺失值数量很低时:直接舍弃对应行 2. 其他:使用mean,median,mode,等描述性统计值补齐缺失值 3. 内插法 :
# coding: utf-8# In[2]:import pandas as pdimport numpy as npdf = pd.DataFrame([ ['frank', 'M', np.nan], ['mary' , np.nan, np.nan], ['tom' , 'M', 35], ['ted' , 'M', 33], ['jean' , np.nan, 21], ['lisa' , 'F', 20]])df.columns = ['name', 'gender', 'age']df# ## 删除缺失值# In[4]:df.dropna() # 只要有nan的值就直接舍去该行# In[9]:df.dropna(how='all') # 缺失所有变量的行,舍去# In[11]:df.dropna(thresh=2) # 缺失变量超过2个,舍去# In[13]:# 处理列df['employee'] = np.nandf# In[16]:df.dropna(axis=1, how='all') # 对于列# ## 填补缺失值# In[18]:df.fillna(0)# In[22]:df['age'].fillna(df['age'].mean())# In[28]:df.groupby('gender')['age'].mean() # n 进 g 出# In[35]:'''分组 -> 拿出变量(列) -> 计算 - > n 进 n 出'''df.groupby('gender')['age'].transform('mean')# In[36]:df['age'].fillna(df.groupby('gender')['age'].transform('mean'), inplace=True) #在原数据集操作df# In[38]:# 向前向后补齐df['age'].fillna(method='ffill')# In[44]:df['age'].fillna(method='bfill', limit=1) # limit限制每列可以被替代NaN的数目# ## 内插法# In[45]:df2 = pd.DataFrame([[1, 870], [2, 900], [np.nan, np.nan], [4, 950], [5,1080], [6,1200]])df2.columns = ['time', 'val']df2# In[47]:df2.interpolate()
转载地址:https://lipenglin.blog.csdn.net/article/details/77936291 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月09日 03时20分24秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JS中document对象和window对象有什么区别
2019-04-30
【python练习题】遍历1
2019-04-30
【matlab】显示图片且下方显示文字
2019-04-30
关于greater<int>以及类模板的一些理解
2019-04-30
对于时间复杂度的通俗理解
2019-04-30
如何输入多组数据并输出每组数据的和?
2019-04-30
基于CentOS 7的Linux常用命令行命令
2019-04-30
行阶梯型矩阵
2019-04-30
临界资源与临界区
2019-04-30
matlab中uint8,double,im2double和im2uint8的区别
2019-04-30
数字图像处理总复习
2019-04-30
图像去噪(包含修正的阿尔法均值滤波及通用滤波方法代码)
2019-04-30
SVM进行人脸检测
2019-04-30
C++学习笔记
2019-04-30
图像处理学习笔记
2019-04-30
Machine Learning Onramp on MATLAB 学习笔记
2019-04-30
Machine Learning with MATLAB 1.1 to 2.2
2019-04-30
Learning DSP with MATLAB
2019-04-30
用MATLAB实现m序列的生成(MATLAB 2021a适用)
2019-04-30
MATLAB函数备忘(定期更新)
2019-04-30