pandas.core.groupby.SeriesGroupBy.fillna # 系列分组依据。fillna ( value = None , method = None , axis = _NoDefault.no_default , inplace = False , limit = None , downcast = _NoDefault.no_default ) [来源] # 使用组内指定的方法填充 NA/NaN 值。 自版本 2.2.0 起已弃用:此方法已弃用,并将在未来版本中删除。使用SeriesGroupBy.ffill()或SeriesGroupBy.bfill() 来代替向前或向后填充。如果您想填充单个值,请改用Series.fillna()。 参数: 值标量、字典、系列或数据帧用于填充漏洞的值(例如 0),或者是值的字典/系列/数据帧,指定每个索引(对于系列)或列(对于数据帧)使用哪个值。不在 dict/Series/DataFrame 中的值将不会被填充。该值不能是列表。想要使用该value参数而不是该参数的用户method 应该更喜欢,Series.fillna()因为这会产生相同的结果并且性能更高。 方法{{'bfill', 'ffill', None}}, 默认 None用于填充孔的方法。'ffill'将在组内向前传播最后一个有效观察。 'bfill'将使用下一个有效观察来填补空白。 轴{0 或“索引”、1 或“列”}未使用,仅用于与DataFrameGroupBy.fillna(). inplace布尔值,默认 False破碎的。不要设置为 True。 limit int,默认无如果指定了 method,则这是组内向前/向后填充的连续 NaN 值的最大数量。换句话说,如果存在连续 NaN 数量超过此数量的间隙,则只会部分填充。如果未指定 method,则这是沿整个轴填充 NaN 的最大条目数。如果不是 None,则必须大于 0。 downcast dict,默认为 None如果可能的话,要向下转换的 item->dtype 的字典,或者字符串“infer”,它将尝试向下转换为适当的相等类型(例如,如果可能,将 float64 转换为 int64)。 返回: 系列组内填充缺失值的对象。 也可以看看 ffill转发组内的填充值。 bfill向后填充组内的值。 例子 对于系列分组依据: >>> lst = ['cat', 'cat', 'cat', 'mouse', 'mouse'] >>> ser = pd.Series([1, None, None, 2, None], index=lst) >>> ser cat 1.0 cat NaN cat NaN mouse 2.0 mouse NaN dtype: float64 >>> ser.groupby(level=0).fillna(0, limit=1) cat 1.0 cat 0.0 cat NaN mouse 2.0 mouse 0.0 dtype: float64