Python中缺失值的填充

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 <class 'pandas.core.frame.dataframe'>
</class>

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

import pandas as pd
a=pd.read_csv("&#x6587;&#x4EF6;&#x540D;.csv")
b=pd.read_excel("&#x6587;&#x4EF6;&#x540D;.xlsx")

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

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

## &#x8F93;&#x51FA;&#x7ED3;&#x679C; ##
   0  1     2
0  1  2  None
1  4  5     6

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

## &#x8F93;&#x51FA;&#x7ED3;&#x679C; ##
   0  1  2
0  1  2  3
1  4  5  6

1 填充None

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

a['&#x7279;&#x8BC1;&#x540D;']=a['&#x7279;&#x5F81;&#x540D;'].fillna('None')

2 填充众数

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

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

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

a=['&#x7279;&#x5F81;&#x540D;']=a['&#x7279;&#x5F81;&#x6C11;'].fillna(a['&#x7279;&#x5F81;&#x540D;'].mode()[0])    # &#x586B;&#x5145;&#x7B2C;&#x4E00;&#x4E2A;&#x4F17;&#x6570;

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())

## &#x8F93;&#x51FA;&#x7ED3;&#x679C; ##
       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())

## &#x8F93;&#x51FA;&#x7ED3;&#x679C; ##
True

Original: https://blog.csdn.net/weixin_51744807/article/details/125090954
Author: 烟火风流
Title: Python中缺失值的填充

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/693646/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球