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("文件名.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
Original: https://blog.csdn.net/weixin_51744807/article/details/125090954
Author: 烟火风流
Title: Python中缺失值的填充
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/693646/
转载文章受原作者版权保护。转载请注明原作者出处!