pandas.core.groupby.SeriesGroupBy.fillna#
- SeriesGroupBy.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()。- Parameters:
- value标量、字典、Series 或 DataFrame
用于填充空值的值(例如 0),或者是一个字典/Series/DataFrame,指定每个索引(对于 Series)或列(对于 DataFrame)要使用哪个值。字典/Series/DataFrame 中不存在的值将不会被填充。此值不能是列表。想要使用
value参数而不是method的用户应优先使用Series.fillna(),因为这将产生相同的结果并且性能更佳。- <strong>method</strong>{{‘bfill’, ‘ffill’, None}}, 默认为 None
用于填充空缺的方法。
'ffill'将在组内将最后一个有效观测值向前传播。'bfill'将使用下一个有效观测值来填充间隙。- axis{0 或 ‘index’, 1 或 ‘columns’}
未使用,仅用于与
DataFrameGroupBy.fillna()兼容。- inplacebool,默认 False
损坏。请勿设置为 True。
- <strong>limit</strong>int,默认 None
如果指定了 method,这是在组内向前/向后填充连续 NaN 值的最大数量。换句话说,如果间隙包含多于此数量的连续 NaN,则只会部分填充。如果未指定 method,这是沿整个轴填充 NaN 的连续条目的最大数量。如果为 None,则必须大于 0。
- downcastdict,默认为 None
一个 {项目->dtype} 的字典,用于在可能的情况下向下转换,或者字符串 ‘infer’,它将尝试向下转换为合适的等效类型(例如,如果可能,float64 转换为 int64)。
- Returns:
- Series
已填充缺失值的分组对象。
Examples
对于 SeriesGroupBy:
>>> 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