在处理数据的时候,需要对数据进行一个清洗过程。清洗操作包括:空白行的删除、数据完整性检验、数据填充、插值等内容。
下面是数据清洗过程中使用的具体方法
DataFrame.dropna
方法用于删除含有缺失值的行或列,关键参数:axis
和how
。
axis
表示轴向,0 为行,1 为列,默认 0。
how
表示删除形式,how = 'any'
表示只要有缺失值就删除;how='all'
表示全为缺失值才删除。
DataFrame.isnull()
识别缺失值,返回包含True
和False
的 DataFrame。
DataFrame.notnull()
方法识别非缺失值,返回包含True
和False
的 DataFrame。
上述两方法结合sum
函数可用于检测数据序列中缺失值的分布情况。
DataFrame.fillna
方法能用指定值替换缺失值。关键参数:value
、method
和axis
。
value
表示指定的填充值。
method
method = 'bfill'
后向填充,用后面的非缺失值填充;
method = 'ffill'
前向填充,用前面的非缺失值填充。
axis
表示操作轴向,默认1(列)。
from scipy.interpolate import lagrange
formula = lagrange(x,y)#formula是通过lagrange方法生成的公式,x和y为数据序列
ins_y = formula(ins_x)#ins_x为缺失值所在位置,ins_y为插值结果。
from scipy.interpolate import interp1d#1是数字一
formula = interp1d(x,y,kind = 'linear')#formula是通过linear方法生成的公式,x和y为数据序列
ins_y = formula(ins_x)#ins_x为缺失值所在位置,ins_y为插值结果。