Python计算缺失数据中行列的缺失个数及其对应的缺失率

本文介绍了一种使用Python pandas库计算数据集中行和列缺失值数量及比例的方法,帮助理解数据完整性,为数据预处理提供依据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在对数据进行分析时,我们不可避免的会遇到不完整的数据,对这些不完整的数据进行处理之前我们需要了解数据缺失的情况,以下代码展示了怎么计算不完整数据中行列的缺失情况。

#导入pandas包
import pandas as pd

def miss_row(data):
    """
    input:原始数据
    output:行的缺失个数和缺失率
    """
    row, col = data.shape
    row_miss = []
    row_total = []
    for i in range(row):
        w = data.iloc[i,:].isnull().sum()#第i行缺失的总数
        row_total.append(w)
        row_miss.append(w.sum()/col)
    row_miss = pd.Series(row_miss)
    row_total = pd.Series(row_total)
    row_miss.index = data.index#要保证row_miss和data的index相同
    row_percent = row_miss.sort_values(axis = 0,ascending = False)#对其进行排序
    row_total = row_total.sort_values(axis = 0,ascending = False)
    return row_total, row_percent

def miss_col(data):
    """
    input:原始数据
    output:列的缺失个数和缺失率
    """
    col_total = data.isnull().sum().sort_values(ascending=False)#从大到小按顺序排每个特征缺失的个数
    col_percent =(data.isnull().sum()/data.isnull().count()).sort_values(ascending=False)#从大到小按顺序排每个特征缺失率
    
    return col_total, col_percent

if __name__ == '__main__':
    
    #读取数据
    data = pd.read_csv("data_test.csv")

    miss_rnum, miss_rper = miss_row(data)
    miss_cnum, miss_cper = miss_col(data)
    

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值