Python中缺失值的填充

Python中缺失值的填充

文章目录

  • Python中缺失值的填充
    • 0 常用方法
    • 1 填充None
    • 2 填充众数
    • 3 检查是否含有缺失值

0 常用方法

​ 在Python中最常用的处理数据格式为DataFrame格式,当数据为其他格式时可以使用pandas包中的.DataFrame方法转化为该格式。

​ 此处以原数据为list来转换数据格式。

import pandas as pd
a=[[1,2,3],[4,5,6]]
print(pd.DataFrame(a),type(pd.DataFrame(a)))

## 输出结果 ##
   0  1  2
0  1  2  3
1  4  5  6 

​ 当然可以直接使用pandas包打开csv或者xlsx格式的数据集,这样数据的打开格式为DataFrame。

import pandas as pd
a=pd.read_csv("文件名.csv")
b=pd.read_excel("文件名.xlsx")

​ 在寻找缺失值的时候,一般使用fillna()方法寻找数据中的NA/NaN值,并在括号内写入填充的数据。

import pandas as pd
a=[['1','2'],['4','5','6']]
a=pd.DataFrame(a)
print(a)

## 输出结果 ##
   0  1     2
0  1  2  None
1  4  5     6

a=a.fillna('3')
print(a)

## 输出结果 ##
   0  1  2
0  1  2  3
1  4  5  6

1 填充None

​ 在处理一些文本数据时,数据的缺失值一般可以使用众数或者none值填充,需要根据实际数据格式而定,有的数据集会有数据描述文件,可以根据文件描述,决定哪些特征下的数据缺失值填充none。

a['特证名']=a['特征名'].fillna('None')

2 填充众数

​ 数据集中文本特征和数字特征都可以在缺失值中填充众数。

​ 文本特征填充的为文本中出现最多的特征值,数字特征则填充出现最多的数字。

​ 填充众数时一般使用.mode()方法,该方法可以选出固定特征中出现最多的数字或者文本,可能筛选出众数不止一个,一般会使用下标去选择填充的值。

a=['特征名']=a['特征民'].fillna(a['特征名'].mode()[0])	# 填充第一个众数

3 检查是否含有缺失值

​ 在检查数据集中是否存在缺失值时,一般采用isnull()方法来判断是否存在缺失值,如果有缺失值则会在缺失值处标记为True,可以使用sum()来按列统计每一列的缺失值个数。

import pandas as pd
a=[['1','2'],['4','5','6']]
a=pd.DataFrame(a)
print(a.isnull())
print(a.isnull().sum())

## 输出结果 ##
       0      1      2
0  False  False   True
1  False  False  False

0    0
1    0
2    1
dtype: int64

​ 如果只想判断是否有缺失值,则可以使用any()函数来判断,如果没有缺失值则返回False,存在缺失值则返回True。

import pandas as pd
a=[['1','2'],['4','5','6']]
a=pd.DataFrame(a)
print(a.isnull().sum().any())

## 输出结果 ##
True

你可能感兴趣的:(Python,python,数据挖掘,数据分析)