前言:
现在大家对“python位数不足前面补0”大约比较看重,姐妹们都需要学习一些“python位数不足前面补0”的相关知识。那么小编同时在网上网罗了一些关于“python位数不足前面补0””的相关内容,希望咱们能喜欢,你们快快来学习一下吧!主要内容:
1. 查看缺失值2. 丢弃缺失值3. 缺失值替换策略
对于数据分析、数据挖掘工作而言,缺失数据不得不说是一个很让人头疼的东西。
而且缺失数据的复杂性也导致了我们往往要从多种处理方式中选择最佳的方案。
丢弃:有时我们可以简单粗暴地直接删掉,这样后续的分析、挖掘都不用考虑兼容缺失数据;补全:但有时因为数据量不足或者其他原因,如果删除了有数据缺失的行或列很可能会对分析结果、模型训练产生重大影响,这时就得考虑对其进行补全;真值转换:有时候我们会把数据缺失也当做一种规律来分析,这时就需要做一些转换,将一个变量的多个水平转换为多个变量的真假值。不处理:这种情况下就需要我们的模型或者分析过程对缺失值有较好的鲁棒性。
接下来我们看看在Python中我们是如何完成这些任务的。
我们先导入后边要用到的库,并生成一些缺失数据。可以看到,这里有两个缺失数据。注意,在pandas以及numpy中,缺失值用NaN表示,Python原生支持的缺失值表示方式为None,另外一些关系型数据库常用NULL来表示缺失值。
1. 查看缺失值
我们使用isnull()方法可以查看数据框中哪些值是缺失的,在输出结果中,True代表缺失,False代表非缺失。与之对应的还有notnull()方法,其输出与isnull()相反。
我们还可以使用any()方法来判断某行或者某列是否含有缺失值,使用all()方法来判断某行或某列是否全部为缺失值。
2. 丢弃缺失值
我们可以使用dropna()方法来丢弃含有缺失值的行或列。
axis=1代表丢弃缺失值所在列,axis=0代表丢弃缺失值所在行,这里默认为删除行;我们可以使用how="any"/"all"来选择何时进行丢弃操作,any代表只要有一个缺失就执行丢弃操作,all代表整行或整列均缺失才执行丢弃操作。inplace参数为True时,将直接在原数据框中执行操作;为False时,则会生成一个新的数据对象,不会影响原有数据。
3. 将缺失值替换为特定值
fillna()方法中集成了很多种补全缺失值的方式。
method='backfill'/'bfill'/'pad'/'ffill':前两个代表是有后边的数值来补全,pad和ffill代表使用前边的值来补全。limit:最多补充连续多少个缺失值。字典:可以用字典方式指定每一列的替换值。数值或与列等长的序列:可以直接指定替换值,比如用平均值或直接指定0。
另外,除了pandas,scikit-learn库也提供了缺失数据的处理方法。除了下边使用的mean策略,我们还可以指定median(中位数)或者most_frequent(众数)策略。axis=0则是指定了用列来计算均值(或其他),axis=1对应着用行来计算。
好了,今天的缺失值处理就到这里,要多多练习哦!
标签: #python位数不足前面补0