利用Python构建P2P用户画像

管理学大师德鲁克曾说过:“如果你不能衡量它,那么你就不能有效增长它。”所以为了推进业务的发展,我们必须对我们的用户有清晰的认识。本文通过Python分析拍拍贷互联网金融数据训练营中提供的数据集,构建用户画像。

一.提出问题

根据给定的数据构建包含性别,学历,是否首标,年龄分布的用户画像。

二.数据处理

将数据导入后,依次进行重复值,缺失值以及异常值的检查。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt 
import os
#为了解决中文标签无法显示的问题
import matplotlib as mpl
mpl.rcParams['font.sans-serif']=['SimHei']#指定默认字体 SimHei为黑体
mpl.rcParams['axes.unicode_minus']=False #用来正常显示负号


#导入数据
os.chdir('C:\\Users\\adm\\Desktop\\')
data_LC=pd.read_csv('LC.csv')


data_LC.info()
data_LC.describe()
data_LC = LC.dropna(how='any')

可以发现数据很干净
!在这里插入图片描述在这里插入图片描述

三.数据分析

#分析用户画像(男女,年龄,学历,是否首标)

male=data_LC[data_LC['性别']=='男']
female = data_LC[data_LC['性别']=='女']
sex_data_LC=(male['借款金额'].sum(),female['借款金额'].sum())
sex_id=('男','女')
plt.figure(figsize=(18,6))
plt.subplot(1,3,1)
plt.pie(sex_data_LC, labels=sex_id, autopct='%.1f%%')
#为了解决中文标签无法显示的问题

#新老客户分析
new= data_LC[data_LC['是否首标']=='是']
old=data_LC[data_LC['是否首标']=='否']
newold_data_LC=(new['借款金额'].sum(),old['借款金额'].sum())
newold_id=('新客户','老客户')
plt.subplot(1,3,2)
plt.pie(newold_data_LC,labels=newold_id,autopct='%.1f%%')

#学历分析
ungraduate=data_LC[data_LC['学历认证']=='未成功认证']
graduate=data_LC[data_LC['学历认证']=='成功认证']
education_data_LC=(ungraduate['借款金额'].sum(),graduate['借款金额'].sum())
education_id=('大专以下学历','大专及以上学历')
#因为LC的数据字典中提到有学历认证的意味着学历是大专及以上学历
plt.subplot(1,3,3)
plt.pie(education_data_LC,labels=education_id,autopct='%.1f%%')

#年龄分析
#因为已经知道借款人最小年龄为17岁,最大年龄为56岁.
ageA = data_LC[(data_LC['年龄'] >= 15) & (data_LC['年龄'] < 20)]
ageB = data_LC[(data_LC['年龄'] >= 20) & (data_LC['年龄'] < 25)]
ageC = data_LC[(data_LC['年龄'] >= 25) & (data_LC['年龄'] < 30)]
ageD = data_LC[(data_LC['年龄'] >= 30) & (data_LC['年龄'] < 35)]
ageE = data_LC[(data_LC['年龄'] >= 35) & (data_LC['年龄'] < 40)]
ageF = data_LC[data_LC['年龄'] >= 40]
age = (ageA, ageB, ageC, ageD, ageE, ageF)
age_total =data_LC[data_LC['年龄']>=15]['借款金额'].sum()
age_percent =[]
for i in age:
    tmp = i['借款金额'].sum()/age_total
    age_percent.append(tmp)
age_percent= [0.0050415618524005884, 0.1776309517499778, 0.3469907065432484, 0.2387279106530634, 0.12128374034498282, 0.11032512885632696]
age_idx = ['15-20', '20-25', '25-30', '30-35', '35-40', '40+']
plt.figure(figsize=(15, 8))
plt.bar(age_idx, age_percent)
for (a, b) in zip(range(0,6), age_percent):
    plt.text(a, b+0.001, '%.2f%%' % (b * 100), ha='center', va='bottom', fontsize=10)
plt.title('借款金额随年龄分布情况')
plt.show()

在这里插入图片描述在这里插入图片描述由此得出:
1.男性客户的贡献的贷款金额占到了69%,可能的原因是男性更倾向于提前消费且贷款金额较大。
2.非首标的金额占比达到66%,说明用户倾向于多次使用,产品粘性较高。
3.大专以下学历的贷款金额更多,但是由于可能有很多用户并未认证学历,所以数据存在出入。
4.年龄段在25-30岁之间的借款金额最多,而20-35岁的人群占比超过75%,是该产品的主力消费人群。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值