Python - Pandas 对缺失值的处理方法

本文摘要:

在这里插入图片描述

实例

对这样一个不规则excel进行数据处理
在这里插入图片描述
本代码主要演示各个功能的使用和解决思路,并不是完整程序。

import pandas as pd
studf = pd.read_excel('xx.xlsx', skiprows=2)  # 读取时跳过前两行
# 检测空值
studf.isnull()

检测空值的返回结果
在这里插入图片描述

# 单列检测空值
studf['分数'].isnull()

# 与isnull相反,非空为True
studf['分数'].notnull()

# 例如筛选没有空分数的行
studf.loc[studf['分数'].notnull(), :]
# 删除全是空值的列
studf.dropna(axis='columns', how='all', inplace=True)

# 删除全是空值的行
studf.dropna(axis='index', how='all', inplace=True)

# 将分数列为空的值填充为0
studf.fillna({'分数': 0})
# 等同于
studf.loc[:, '分数'] = studf['分数'].fillna(0)

# 将姓名缺失值填充,用前面的有效值填充,ffill:forward fill
studf.loc[:, '姓名'] = studf['姓名'].fillna(method='ffill')

# 保存数据,index=False表示不保留DataFrame自动生成的索引列
studf.to_excel('xxx.xlsx', index=False)

题外话

如何在原dataframe上创建空列

import numpy as np
import pandas as pd

df["Empty_1"] = ""
df["Empty_2"] = np.nan
df['Empty_3'] = pd.Series() 

创建结果
在这里插入图片描述
*此文仅为个人笔记

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值