Python机器学习:for循环定义批量探索字段的方法

前面几期介绍了isnull()找缺失值,value_counts()统计字段内容的频次,但特征工程字段很多,一个个地看太麻烦了,能不能用for循环把方法封装起来 批量查看字段呢?

代码如下:

def exploreData(x):
    for i in x.columns:
        print("字段名:",i)
        print("缺失值个数:",x[i].isnull().sum())
        print("字段值与频数:")
        print(x[i].value_counts())
        print("-----------------------------------------------------------")

代码讲解:

def后面是方法名,这里用驼峰命名法命名为exploreData,当然也可以依自己喜好命名为F(x)、fre(x)·····

columes表示列标签,是表示DataFrame的列标签的属性名,是内置的。表名.columes就能把一个二维表的列标签全打印出来了,如:Python机器学习:for循环定义批量探索字段的方法_第1张图片

x是变量名其一,在这里表示数据集,也就是二维表DataFrame;

i是变量名其二,在这里表示数据集里面的字段。调用一个表里面的字段一般是这样写的:表名['字段名'],或者这样:表名.字段名。所以这里用两个变量来表示,就是这样:x[i];

for循环里面写 i in x.columes 就能把所有字段都遍历一遍;

用到的函数只有几个,一个isnull()和sum()的组合使用:先用isnull()把空值转为布尔值True,再用sum()把为1的加和起来;另一个是value_counts()计算每一个值出现的次数,也就是频数。

下面看运行结果:

Python机器学习:for循环定义批量探索字段的方法_第2张图片

 可以发现这份数据用问号?来表示空值了,我们需要记一下要处理的字段,对空值进一步处理。

你可能感兴趣的:(Python机器学习,python,jupyter,数据分析)