数据分析案例3----银行坏账率分析

数据分析案例3----银行坏账率分析
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['SimHei']

# 解决负号无法正常显示的问题
plt.rcParams['axes.unicode_minus'] = False

'''
某银行的数据分析师计算坏账率
    用户ID  好坏客户   年龄   负债率     月收入    家属数量
0     1        1      45   0.802982   9120.0     2.0    
1     2        0      40   0.121876   2600.0     1.0
2     3        0      38   0.085113   3042.0     0.0
3     4        0      30   0.036050   3300.0     0.0
4     5        0      49   0.024926   63588.0    0.0
'''

data = pd.read_csv('Myxlsxdata/loan.csv', encoding='gb2312')

'''
是不是收入越高的人坏账率越低
'''
# 首先进行缺失值处理,用均值填充法
data = data.fillna({'月收入': data['月收入'].mean()})

# 对月收入进行分析
# 因为月收入属于连续值,对连续值进行分析时,我们一般都会将连续值进行离散化
# 就是将连续值进行区间分割,分成若干类别
cut_bins = [0, 5000, 10000, 15000, 20000, 100000]
income_cut = pd.cut(data['月收入'], cut_bins)

# 区间分好后就可以查看每个区间的坏账率
# 坏账率就是所有借款用户中逾期不还用户的占比
# 逾期不还的用户的好坏客户字段表记为1,按期还款的标记为0
# 坏账率 = 好坏客户字段之和(坏账客户数) / 好坏客户字段的计数(所有借款用户)
all_income_user = data['好坏客户'].groupby(income_cut).count()
bad_income_user = data['好坏客户'].groupby(income_cut).sum()
income_bad_rate = bad_income_user / all_income_user
income_bad_rate.plot.bar()
plt.show()

'''
年龄和坏账率的关系
'''
# 先对年龄进行离散值处理
age_cut = pd.qcut(data['年龄'], 6)
all_age_user = data['好坏客户'].groupby(age_cut).count()
bad_age_user = data['好坏客户'].groupby(age_cut).sum()
age_bad_rate = bad_age_user / all_age_user
age_bad_rate.plot.bar()
plt.show()

'''
家庭人口数量和坏账率的关系
'''
# 人口数量也是连续值,但因为数值不大,就当作离散值处理
all_age_fam_num = data.groupby('家属数量')['好坏客户'].count()
bad_age_fam_num = data.groupby('家属数量')['好坏客户'].sum()
fam_num_bad_rate = bad_age_fam_num / all_age_fam_num
fam_num_bad_rate.plot()
plt.show()

Read more

《黑神话:悟空》Steam用户评测数据词云【文末数据+源码】

《黑神话:悟空》Steam用户评测数据词云【文末数据+源码】

文章目录 * 大家好,我是 👉 刚刚过去的几天,《黑神话:悟空》无疑是互联网上最热门的话题。 《黑神话:悟空》是中国首款3A游戏(高质量、高体量、高成本的单机游戏)。2024年8月20日在 PS5、Steam、WeGame 等平台同步上线,数字标准版售价268元,数字豪华版售价为328元。 今天我们根据Steam游戏用户评测数据,看看大家如何评价这款3A神作游戏的,如有疑问或者需要改进的地方可以联系小编。 🏳️‍🌈 1. 读取数据 df = pd.read_excel('./steam_data.xlsx') 🏳️‍🌈 2. 处理数据 comments = df['评测内容'] content = ','.join([str(str(comment).replace('

By Ne0inhk
Pandas+Pyecharts | 2021中国大学综合排名分析+可视化

Pandas+Pyecharts | 2021中国大学综合排名分析+可视化

文章目录 * * * 大家好,我是 Python当打之年 软科中国大学排以专业、客观、透明的优势赢得了高等教育领域和社会的广泛关注和认可,本次将利用Python对我国大学排名和分布情况进行一番研究。 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,点击【】。 涉及到的内容: Pandas — 数据处理 Pyecharts — 数据可视化 🏳️‍🌈 1. 导入模块 from pyecharts.charts import Map from pyecharts.charts import Bar from pyecharts.charts import Pie from pyecharts import options as opts import pandas as pd 🏳️‍🌈 2. Pandas数据处理 2.1 读取数据

By Ne0inhk
1025. 反转链表 (25) python篇

1025. 反转链表 (25) python篇

1025. 反转链表 (25)       时间限制      300 ms        内存限制      65536 kB        代码长度限制      8000 B        判题程序   Standard      作者     CHEN, Yue 给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4;如果K为4,则输出应该为4→3→2→1→5→6,即最后不到K个元素不反转。 输入格式: 每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址、结点总个数正整数N(<= 105)、以及正整数K(<=N)

By Ne0inhk
Pandas+Pyecharts | 招聘信息数据可视化

Pandas+Pyecharts | 招聘信息数据可视化

文章目录 * * * 大家好,我是 👉 本期我们通过分析某招聘网站发布的python相关工作招聘信息数据,进行以下几个方面的分析: * 全国哪些城市岗位数量比较多 * 哪些公司薪资待遇比较好 * 哪些岗位需求量比较大 * 普遍工资分布情况 涉及到的库: Pandas — 数据处理 Pyecharts — 数据可视化 可视化部分: 柱状图 — Bar 饼状图 — Pie 地图 — Map 词云图 — stylecloud 1. 导入模块 升级 pyecharts 包: 可视化部分需要用到 pyecharts==1.9.0,已安装其他低版本的需要升级,如果未安装过pyecharts,直接pip安装就是最新版本。 # 导包 import re import stylecloud import pandas as pd from PIL import Image from

By Ne0inhk