fillna 函数
DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
fillna 函数将用指定的值(value)或方式(method)填充 NA/NaN 等空值缺失值。
value
用于填充的值,可以是数值、字典、Series 对象 或 DataFrame 对象。
method
当没有指定 value 参数时,可以该参数的内置方式填充缺失值,可选项有 {‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None},默认值为 None;backfill 和 bfill 用下一个非缺失值填充该缺失值,pad 和 ffill 用前一个非缺失值去填充该缺失值。该参数通常和 axis 一起使用,值得注意的是,method 参数不能与 value 同时出现。
axis
指定填充维度,具体指行维度或列维度,也可以理解为指定填充的方向,可选值有整数 0 或 1,也可以是字符串,选项有 'index' 或 'columns',0 等同于 'index' 表示行维度,1 等同于 'columns' 表示列维度。
inplace
是否修改原对象的值,True 表示修改,默认是 False,表示创建一个副本,修改副本,原对象不变。
limit
指定填充的个数上限,默认为 None,即不限制。
pandas线性插值
DataFrame.interpolate(method=‘linear’, axis=0, limit=None, inplace=False, limit_direction=None, limit_area=None, downcast=None, **kwargs)
method : str,默认为‘linear’使用插值方法。
可用的插值方法:
‘linear’:忽略索引,线性等距插值。这是MultiIndexes支持的唯一方法。
‘time’: 在以天或者更高频率的数据上插入给定的时间间隔长度数据。
‘index’, ‘values’: 使用索引的实际数值。
‘pad’:使用现有值填写NaN。
‘nearest’, ‘zero’, ‘slinear’, ‘quadratic’, ‘cubic’, ‘spline’, ‘barycentric’, ‘polynomial’: 传递给 scipy.interpolate.interp1d。这些方法使用索引的数值。‘polynomial’ 和 ‘spline’ 都要求您还指定一个顺序(int),例如 ,df.interpolate(method=‘polynomial’, order=5)
‘krogh’,‘piecewise_polynomial’,‘spline’,‘pchip’,‘akima’:包括类似名称的SciPy插值方法。
‘from_derivatives’:指 scipy.interpolate.BPoly.from_derivatives,它替换了scipy 0.18中的’piecewise_polynomial’插值方法。
axis : {0或’index’,1或’columns’,None},默认为None;沿轴进行interpolate。
limit: int;要填充的连续NaN的最大数量。必须大于0。
inplace : bool,默认为False;如果可以,更新现有数据。
limit_direction : {‘forward’,‘backward’,‘both’},默认为’forward’;如果指定了限制,则将沿该方向填充连续的NaN。
limit_area : {None, ‘inside’, ‘outside’}, 默认为None;如果指定了限制,则连续的NaN将填充此限制。
None:无填充限制。
‘inside’:仅填充有效值包围的NaN。
‘outside’: 仅在有效值之外填充NaN。