@classmethod<EOL><INDENT>def _add_numeric_operations(cls):<DEDENT>
axis_descr, name, name2 = _doc_parms(cls)<EOL>cls.any = _make_logical_function(<EOL>cls, '<STR_LIT>', name, name2, axis_descr, _any_desc, nanops.nanany,<EOL>_any_see_also, _any_examples, empty_value=False)<EOL>cls.all = _make_logical_function(<EOL>cls, '<STR_LIT:all>', name, name2, axis_descr, _all_desc, nanops.nanall,<EOL>_all_see_also, _all_examples, empty_value=True)<EOL>@Substitution(desc="<STR_LIT>"<EOL>"<STR_LIT>",<EOL>name1=name, name2=name2, axis_descr=axis_descr,<EOL>min_count='<STR_LIT>', see_also='<STR_LIT>', examples='<STR_LIT>')<EOL>@Appender(_num_doc)<EOL>def mad(self, axis=None, skipna=None, level=None):<EOL><INDENT>if skipna is None:<EOL><INDENT>skipna = True<EOL><DEDENT>if axis is None:<EOL><INDENT>axis = self._stat_axis_number<EOL><DEDENT>if level is not None:<EOL><INDENT>return self._agg_by_level('<STR_LIT>', axis=axis, level=level,<EOL>skipna=skipna)<EOL><DEDENT>data = self._get_numeric_data()<EOL>if axis == <NUM_LIT:0>:<EOL><INDENT>demeaned = data - data.mean(axis=<NUM_LIT:0>)<EOL><DEDENT>else:<EOL><INDENT>demeaned = data.sub(data.mean(axis=<NUM_LIT:1>), axis=<NUM_LIT:0>)<EOL><DEDENT>return np.abs(demeaned).mean(axis=axis, skipna=skipna)<EOL><DEDENT>cls.mad = mad<EOL>cls.sem = _make_stat_function_ddof(<EOL>cls, '<STR_LIT>', name, name2, axis_descr,<EOL>"<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>",<EOL>nanops.nansem)<EOL>cls.var = _make_stat_function_ddof(<EOL>cls, '<STR_LIT>', name, name2, axis_descr,<EOL>"<STR_LIT>"<EOL>"<STR_LIT>",<EOL>nanops.nanvar)<EOL>cls.std = _make_stat_function_ddof(<EOL>cls, '<STR_LIT>', name, name2, axis_descr,<EOL>"<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>",<EOL>nanops.nanstd)<EOL>@Substitution(desc="<STR_LIT>"<EOL>"<STR_LIT>", name1=name, name2=name2,<EOL>axis_descr=axis_descr,<EOL>min_count='<STR_LIT>', see_also='<STR_LIT>', examples='<STR_LIT>')<EOL>@Appender(_num_doc)<EOL>def compound(self, axis=None, skipna=None, level=None):<EOL><INDENT>if skipna is None:<EOL><INDENT>skipna = True<EOL><DEDENT>return (<NUM_LIT:1> + self).prod(axis=axis, skipna=skipna, level=level) - <NUM_LIT:1><EOL><DEDENT>cls.compound = compound<EOL>cls.cummin = _make_cum_function(<EOL>cls, '<STR_LIT>', name, name2, axis_descr, "<STR_LIT>",<EOL>lambda y, axis: np.minimum.accumulate(y, axis), "<STR_LIT>",<EOL>np.inf, np.nan, _cummin_examples)<EOL>cls.cumsum = _make_cum_function(<EOL>cls, '<STR_LIT>', name, name2, axis_descr, "<STR_LIT>",<EOL>lambda y, axis: y.cumsum(axis), "<STR_LIT>", <NUM_LIT:0.>,<EOL>np.nan, _cumsum_examples)<EOL>cls.cumprod = _make_cum_function(<EOL>cls, '<STR_LIT>', name, name2, axis_descr, "<STR_LIT>",<EOL>lambda y, axis: y.cumprod(axis), "<STR_LIT>", <NUM_LIT:1.>,<EOL>np.nan, _cumprod_examples)<EOL>cls.cummax = _make_cum_function(<EOL>cls, '<STR_LIT>', name, name2, axis_descr, "<STR_LIT>",<EOL>lambda y, axis: np.maximum.accumulate(y, axis), "<STR_LIT>",<EOL>-np.inf, np.nan, _cummax_examples)<EOL>cls.sum = _make_min_count_stat_function(<EOL>cls, '<STR_LIT>', name, name2, axis_descr,<EOL>"""<STR_LIT>""",<EOL>nanops.nansum, _stat_func_see_also, _sum_examples)<EOL>cls.mean = _make_stat_function(<EOL>cls, '<STR_LIT>', name, name2, axis_descr,<EOL>'<STR_LIT>',<EOL>nanops.nanmean)<EOL>cls.skew = _make_stat_function(<EOL>cls, '<STR_LIT>', name, name2, axis_descr,<EOL>'<STR_LIT>',<EOL>nanops.nanskew)<EOL>cls.kurt = _make_stat_function(<EOL>cls, '<STR_LIT>', name, name2, axis_descr,<EOL>"<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>",<EOL>nanops.nankurt)<EOL>cls.kurtosis = cls.kurt<EOL>cls.prod = _make_min_count_stat_function(<EOL>cls, '<STR_LIT>', name, name2, axis_descr,<EOL>'<STR_LIT>',<EOL>nanops.nanprod, examples=_prod_examples)<EOL>cls.product = cls.prod<EOL>cls.median = _make_stat_function(<EOL>cls, '<STR_LIT>', name, name2, axis_descr,<EOL>'<STR_LIT>',<EOL>nanops.nanmedian)<EOL>cls.max = _make_stat_function(<EOL>cls, '<STR_LIT>', name, name2, axis_descr,<EOL>"""<STR_LIT>""",<EOL>nanops.nanmax, _stat_func_see_also, _max_examples)<EOL>cls.min = _make_stat_function(<EOL>cls, '<STR_LIT>', name, name2, axis_descr,<EOL>"""<STR_LIT>""",<EOL>nanops.nanmin, _stat_func_see_also, _min_examples)<EOL>
Add the operations to the cls; evaluate the doc strings again