python数据变量概览 查看 连续性/离散型

该博客主要展示了数据集trainData的某列变量'si_tp'的统计信息。通过check_var函数,对'si_tp'进行了连续性和离散性的判断,并根据分布情况划分了区间,分析了'y1_is_purchase'这一因变量在各区间内的平均购买率。数据显示,'si_tp'的中位数为1000000,购买率随着'si_tp'值的增大而提高。
摘要由CSDN通过智能技术生成
trainData   # 数据概览

最后一列是因变量
在这里插入图片描述

def check_var(df, col):  # 查看变量概览
    '''
    df: DataFrame
    col: column's name
    return/print: describe/value_counts and groupby.y.mean()
    需要修改的部分: 把因变量y1_is_purchase 换成当前dataframe的因变量名
    '''
    if len(df[col].unique())>10:  # 如果唯一值个数大于10,可认为是连续型变量
        print(df[col].describe())
        bins = np.unique(df[col].describe()[3:-1].values)
        bins = np.append(bins, np.inf)
        df['test'] = pd.cut(df[col], bins=bins, right=False)
        print(df.groupby('test').y1_is_purchase.mean())     # 换
    else:  # 唯一值小于等于10,认为是离散型变量
        print(df[col].value_counts().sort_values().sort_index())
        print(df.groupby(col).y1_is_purchase.mean().sort_index())  # 换

if __name__ == '__main__':            
	check_var(trainData, col='si_tp')
	
>>>count    6.842830e+05
	mean     8.554260e+05
	std      4.836979e+05
	min      0.000000e+00
	25%      5.000000e+05
	50%      1.000000e+06
	75%      1.000000e+06
	max      1.000000e+07
	Name: si_tp, dtype: float64
	test
	[0.0, 500000.0)          0.325231
	[500000.0, 1000000.0)    0.635996
	[1000000.0, inf)         0.698135
	Name: y1_is_purchase, dtype: float64
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值