数据定性分析的好方法, 十分位数

#===各数值列的 10 个十分位数 (D10%~D100%)
import numpy as np
_decile_qs = np.arange(0.1, 1.0001, 0.1)  # 0.1,0.2,...,1.0  共 10 个
def _print_deciles(name, dframe):
    print(f'\n===== {name} 各数值列十分位数 ({len(dframe)} 行) =====')
    for c in dframe.columns:
        if not pd.api.types.is_numeric_dtype(dframe[c]):
            continue
        s = dframe[c].dropna()
        if len(s) == 0:
            print(f'  {c}: (空列)')
            continue
        qs = s.quantile(_decile_qs)
        qstr = '  '.join(f'{q:.4g}' for q in qs)
        print(f'  {c} [n={len(s)}]: {qstr}')
_print_deciles('df_meter', df_meter)
_print_deciles('df_unit', df_unit)
_print_deciles('df_weather', df_weather)

posted on 2026-07-01 16:16  张博的博客  阅读(5)  评论(0)    收藏  举报

导航