任务:
初识pandas库与缺失数据的补全
按照示例代码的要求,去尝试补全信贷数据集中的数值型缺失值
- 打开数据(csv文件、excel文件)
- 查看数据(尺寸信息、查看列名等方法)
- 查看空值
- 众数、中位数填补空值
- 利用循环补全所有列的空值
完成后在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()
@浙大疏锦行

1万+

被折叠的 条评论
为什么被折叠?



