import numpy as np import pandas as pd import visuals as vs import seaborn as sns %matplotlib inline data = pd.read_csv('bj_housing.csv') print(data) missing = data.isnull().sum() print(missing) missing.sort_values(inplace=True,ascending=False) missing = missing[missing > 0] types = data[missing.index].dtypes percent = (data[missing.index].isnull().sum()/data[missing.index].isnull().count()).sort_values(ascending=False) missing_data = pd.concat([missing, percent,types], axis=1, keys=['Total', 'Percent','Types']) missing_data.sort_values('Total',ascending=False,inplace=True) missing_data
时间: 2024-04-02 12:33:32 浏览: 89
这段代码是用于读取北京房价数据集,并对数据集中的缺失值进行处理。
首先,使用pandas库中的read_csv()函数读取名为'bj_housing.csv'的数据集,并将读取的数据存储在名为data的DataFrame中。
然后,使用isnull()函数判断data中每个元素是否为缺失值,将结果存储在名为missing的Series中。接着,将missing中的元素按照从大到小的顺序排列,并将缺失值个数大于0的元素存储在missing中。
接下来,使用dtypes属性获取missing中每个缺失值所在列的数据类型,并将结果存储在名为types的Series中。接着,使用isnull()和sum()函数统计每一列缺失值的个数,并除以该列元素总数得到该列缺失值的比例,并将结果按照从大到小的顺序排列,存储在名为percent的Series中。
最后,使用concat()函数将missing、percent和types按照列方向拼接起来,形成一个新的DataFrame,存储在名为missing_data中,并将结果按照缺失值的个数从大到小排列。
阅读全文