插值函数interpolate
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。
loc与iloc
首先:loc是location的意思,和iloc中i的意思是指integer,所以它只接受整数作为参数
loc为Selection by Label函数,即为按标签取数据,标签是什么,就是上面的’0’~‘4’, ‘A’~‘B’
iloc函数为Selection by Position,即按位置选择数据,即第n行,第n列数据,只接受整型参数
记住,0:2为左闭右开区间,即取0,1,如下图: