11分钟
缺失数据1
1. pands对象上的所有描述统计都排除了缺失数据。
2. DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False):根据各label的值中是否存在缺失数据来对轴label进行过滤。
axis:指定沿着哪个轴进行过滤。如果为0/'index',则沿着0轴;如果为1/'columns',则沿着1轴。你也可以同时提供两个轴(以列表或者元组的形式)how:指定过滤方式。如果为'any',则如果该label对应的数据中只要有任何NaN,则抛弃该label;如果为'all',则如果该label对应的数据中必须全部为NaN才抛弃该label。thresh:一个整数,要求该label必须有thresh个非NaN才保留下来。它比how的优先级较高。subset:一个label的array-like。比如axis=0,则subset为轴 1 上的标签,它指定你考虑哪些列的子集上的NaNinplace:一个布尔值。如果为True,则原地修改。否则返回一个新创建的DataFrame
对于Series,其签名为: Series.dropna(axis=0, inplace=False, **kwargs)
3. DataFrame/Series.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs):用指定值或者插值方法来填充缺失数据。
value:一个标量、字典、Series或者DataFrame。注意:value与method只能指定其中之一,不能同时提供。- 如果为标量,则它指定了填充
NaN的数据。 - 如果为
Series/dict,则它指定了填充每个index的数据 - 如果为
DataFrame,则它指定了填充每个DataFrame单元的数据
- 如果为标量,则它指定了填充
method:指定填充方式。可以为None,也可以为:'backfill'/'bfill':使用下一个可用的有效值来填充(后向填充)'ffill'/'pad':使用前一个可用的有效值来填充(前向填充)
axis:指定沿着哪个轴进行填充。如果为0/'index',则沿着0轴;如果为1/'columns',则沿着1轴inplace:一个布尔值。如果为True,则原地修改。否则返回一个新创建的DataFramelimit:一个整数。如果method提供了,则当有连续的N个NaN时,只有其中的limit个NaN会被填充(注意:对于前向填充和后向填充,剩余的空缺的位置不同)downcast:一个字典,用于类型转换。字典形式为:{label->dtype},dtype可以为字符串,也可以为np.float64等。
学员评价