python打卡第四天!!!

任务:

初识pandas库与缺失数据的补全

按照示例代码的要求,去尝试补全信贷数据集中的数值型缺失值

  1. 打开数据(csv文件、excel文件)
  2. 查看数据(尺寸信息、查看列名等方法)
  3. 查看空值
  4. 众数、中位数填补空值
  5. 利用循环补全所有列的空值

完成后在py文件中独立完成一遍,并且利用debugger工具来查看属性(不借助函数显式查看)----养成利用debugger工具的习惯

1.打开数据(csv文件、excel文件)

# 读取数据
import pandas as pd
data = pd.read_csv(r'data.csv')#加r可以避免许多不必要的问题出现比如说\n换行

2.查看数据(尺寸信息、查看列名等方法) 

data.info() # 列名、非空值、数据类型
data.shape # (行数, 列数) data的属性
data.columns # 所有列名 data的属性

 3.查看空值

data.isnull().sum()

4.众数、中位数填补空值

#寻找中值
median_income = data["Annual Income"].median()
 
#空缺值用中值补全
data["Annual Income"].fillna(median_income,inplace=True)
 
#查看“Annual Income”是否还存在空值
data["Annual Income"].isnull().sum()
#重新利用众数来填补
import pandas as pd
data = pd.read_csv(r"C:\Users\22864\Desktop\python60-days-challenge-master\data.csv")
 
#寻找众数
mode = data["Annual Income"].mode()
 
#存在许多众数,选择了第一个作为众数
mode = mode[0]
 
#利用众数填补
data["Annual Income"].fillna(mode,inplace=True)
 
#查看是否还有空值
data["Annual Income"].isnull().sum()

5.利用循环补全所有列的空

#除了Annual Income之外 还有其他的列也存在空值,都利用均值来填补
 
#利用tolist 将numpy矩阵转化为list
c = data.columns.tolist()
 
 
#对列名列表进行遍历,并取均值进行填补
for i in c:
    if data[i].dtype != "object":
        if data[i].isnull().sum() > 0 :
            mean_value = data[i].mean()
            data[i].fillna(mean_value,inplace=True)
 
#查看是否存在遗漏的空值
data.isnull().sum()

@浙大疏锦行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值