用法:
DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)
使用指定的方法填充 NA/NaN 值。
- value:标量、字典、系列或数据帧
用于填充孔的值(例如 0),或者是值的 dict/Series/DataFrame,指定用于每个索引(对于 Series)或列(对于 DataFrame)的值。不在 dict/Series/DataFrame 中的值将不会被填充。此值不能是列表。
- method:{‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, 无},默认无
用于填充重新索引系列填充中的孔的方法 /ffill:将最后一个有效观察向前传播到下一个有效回填 /bfill:使用下一个有效观察来填充间隙。
- axis:{0 或 ‘index’、1 或 ‘columns’}
沿其填充缺失值的轴。
- inplace:布尔值,默认为 False
如果为真,则就地填写。注意:这将修改此对象上的任何其他视图(例如,DataFrame 中列的no-copy 切片)。
- limit:整数,默认无
如果指定了方法,则这是向前/向后填充的连续 NaN 值的最大数量。换句话说,如果有超过这个数量的连续 NaN 的间隙,它只会被部分填充。如果未指定方法,则这是沿整个轴将填充 NaN 的最大条目数。如果不是无,则必须大于 0。
- downcast:字典,默认为无
item->dtype 的字典,如果可能的话要向下转换,或者字符串 ‘infer’ 将尝试向下转换为适当的相等类型(例如,如果可能,将 float64 转换为 int64)。
- DataFrame 或无
填充缺失值的对象,如果
inplace=True
则为 None。
参数:
返回:
例子:
>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0], ... [3, 4, np.nan, 1], ... [np.nan, np.nan, np.nan, np.nan], ... [np.nan, 3, np.nan, 4]], ... columns=list("ABCD")) >>> df A B C D 0 NaN 2.0 NaN 0.0 1 3.0 4.0 NaN 1.0 2 NaN NaN NaN NaN 3 NaN 3.0 NaN 4.0
用 0 替换所有 NaN 元素。
>>> df.fillna(0) A B C D 0 0.0 2.0 0.0 0.0 1 3.0 4.0 0.0 1.0 2 0.0 0.0 0.0 0.0 3 0.0 3.0 0.0 4.0
我们还可以向前或向后传播非空值。
>>> df.fillna(method="ffill") A B C D 0 NaN 2.0 NaN 0.0 1 3.0 4.0 NaN 1.0 2 3.0 4.0 NaN 1.0 3 3.0 3.0 NaN 4.0
将“A”、“B”、“C”和“D”列中的所有 NaN 元素分别替换为 0、1、2 和 3。
>>> values = {"A":0, "B":1, "C":2, "D":3} >>> df.fillna(value=values) A B C D 0 0.0 2.0 2.0 0.0 1 3.0 4.0 2.0 1.0 2 0.0 1.0 2.0 3.0 3 0.0 3.0 2.0 4.0
仅替换第一个 NaN 元素。
>>> df.fillna(value=values, limit=1) A B C D 0 0.0 2.0 2.0 0.0 1 3.0 4.0 NaN 1.0 2 NaN 1.0 NaN 3.0 3 NaN 3.0 NaN 4.0
使用 DataFrame 填充时,替换发生在相同的列名和相同的索引上
>>> df2 = pd.DataFrame(np.zeros((4, 4)), columns=list("ABCE")) >>> df.fillna(df2) A B C D 0 0.0 2.0 0.0 0.0 1 3.0 4.0 0.0 1.0 2 0.0 0.0 0.0 NaN 3 0.0 3.0 0.0 4.0
请注意,D 列不受影响,因为它不存在于 df2 中。
相关用法
- Python pandas.DataFrame.filter用法及代码示例
- Python pandas.DataFrame.first用法及代码示例
- Python pandas.DataFrame.flags用法及代码示例
- Python pandas.DataFrame.from_dict用法及代码示例
- Python pandas.DataFrame.from_records用法及代码示例
- Python pandas.DataFrame.floordiv用法及代码示例
- Python pandas.DataFrame.ewm用法及代码示例
- Python pandas.DataFrame.dot用法及代码示例
- Python pandas.DataFrame.apply用法及代码示例
- Python pandas.DataFrame.combine_first用法及代码示例
- Python pandas.DataFrame.cumsum用法及代码示例
- Python pandas.DataFrame.rename用法及代码示例
- Python pandas.DataFrame.to_numpy用法及代码示例
- Python pandas.DataFrame.dtypes用法及代码示例
- Python pandas.DataFrame.cummin用法及代码示例
- Python pandas.DataFrame.truncate用法及代码示例
- Python pandas.DataFrame.sparse.from_spmatrix用法及代码示例
- Python pandas.DataFrame.add_prefix用法及代码示例
- Python pandas.DataFrame.to_json用法及代码示例
- Python pandas.DataFrame.convert_dtypes用法及代码示例
注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame.fillna。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。