用法:
DataFrame.fillna(value=None, method=None, limit=None, axis=None)
使用指定的方法填充 NA/NaN 值。
此文档字符串是从 pandas.core.frame.DataFrame.fillna 复制而来的。
可能存在与 Dask 版本的一些不一致之处。
- value:标量、字典、系列或数据帧
用于填充孔的值(例如 0),或者是值的 dict/Series/DataFrame,指定用于每个索引(对于 Series)或列(对于 DataFrame)的值。不在 dict/Series/DataFrame 中的值将不会被填充。此值不能是列表。
- method:{‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, 无},默认无
用于填充重新索引系列填充/填充中的孔的方法:将最后一个有效观察向前传播到下一个有效回填/bfill:使用下一个有效观察来填充间隙。
- axis:{0 或 ‘index’、1 或 ‘columns’}
沿其填充缺失值的轴。
- inplace:bool,默认 False(在 Dask 中不支持)
如果为真,则就地填写。注意:这将修改此对象上的任何其他视图(例如,DataFrame 中列的no-copy 切片)。
- limit:整数,默认无
如果指定了方法,则这是向前/向后填充的连续 NaN 值的最大数量。换句话说,如果有超过这个数量的连续 NaN 的间隙,它只会被部分填充。如果未指定方法,则这是沿整个轴将填充 NaN 的最大条目数。如果不是无,则必须大于 0。
- downcast:dict,默认为无(在 Dask 中不支持)
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 dask.dataframe.DataFrame.first用法及代码示例
- Python dask.dataframe.DataFrame.floordiv用法及代码示例
- Python dask.dataframe.DataFrame.applymap用法及代码示例
- Python dask.dataframe.DataFrame.sub用法及代码示例
- Python dask.dataframe.DataFrame.mod用法及代码示例
- Python dask.dataframe.DataFrame.cummin用法及代码示例
- Python dask.dataframe.DataFrame.truediv用法及代码示例
- Python dask.dataframe.DataFrame.round用法及代码示例
- Python dask.dataframe.DataFrame.ne用法及代码示例
- Python dask.dataframe.DataFrame.partitions用法及代码示例
- Python dask.dataframe.DataFrame.to_bag用法及代码示例
- Python dask.dataframe.DataFrame.any用法及代码示例
- Python dask.dataframe.DataFrame.itertuples用法及代码示例
- Python dask.dataframe.DataFrame.count用法及代码示例
- Python dask.dataframe.DataFrame.memory_usage用法及代码示例
- Python dask.dataframe.DataFrame.describe用法及代码示例
- Python dask.dataframe.DataFrame.to_parquet用法及代码示例
- Python dask.dataframe.DataFrame.groupby用法及代码示例
- Python dask.dataframe.DataFrame.iterrows用法及代码示例
- Python dask.dataframe.DataFrame.idxmax用法及代码示例
注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.dataframe.DataFrame.fillna。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。