【爬虫+数据分析+数据可视化】Python数据可视化分析胡润富豪榜榜单数据

一、爬虫

爬虫部分不做讲解,可见原始文章。下面主要介绍可视化代码。

看一下榜单上TOP20的数据吧:

数据一共2916条,19个字段信息,含:

排名、排名变化、全名_中文、全名_英文、年龄、出生地_中文、出生地_英文、性别、公司名称_中文、公司名称_英文、公司总部地_中文、公司总部地_英文、所在行业_中文、所在行业_英文、组织结构、财富值_人民币_亿、财富值变化、 财富值_美元、年份。

数据信息还是很丰富的,希望能够挖掘出一些有价值的结论!

二、数据分析

2.1 导入库

首先,导入用于数据分析的库:

import pandas as pd  # 读取csv文件
import matplotlib.pyplot as plt  # 画图
from wordcloud import WordCloud  # 词云图

增加一个配置项,用于解决matplotlib中文乱码的问题:

# 解决中文显示问题
plt.rcParams['font.sans-serif'] = ['SimHei']  # 显示中文标签  # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题

读取csv数据:

# 读取csv数据
df = pd.read_csv('富豪榜.csv')

2.2 数据概况

查看数据形状:

查看前3名富豪:

查看最后3名富豪:

描述性统计:

从描述性统计,可以得出结论:
从最大值3900亿、最小值20亿、方差242来看,分布很零散,各位富豪掌握的财富差距很大,马太效应明显。

2.3 可视化分析

2.3.1 财富分布

代码:

df_Wealth = df['财富值_人民币_亿']
# 绘图
df_Wealth.plot.hist(figsize=(18, 6), grid=True, title='财富分布-直方图')
# 保存图片
plt.savefig('财富分布-直方图.png')

可视化图:

结论:大部分的富豪的财富集中在20亿~400亿之间,个别顶级富豪的财富在3000亿以上。

2.3.2 年龄分布

代码:

# 剔除未知
df_Age = df[df.年龄 != '未知']
# 数据切割,8个分段
df_Age_cut = pd.cut(df_Age.年龄.astype(float), bins=[20, 30, 40, 50, 60, 70, 80, 90, 100])
# 画柱形图
df_Age_cut.value_counts().plot.bar(figsize=(16, 6), title='年龄分布-柱形图')
# 保存图片
plt.savefig('年龄分布-柱形图.png')

可视化图:

结论:大部分富豪的年龄在50-60岁,其次是60-70和40-50岁。极少数富豪在20-30岁(年轻有为👍)

2.3.3 公司总部分布

代码:

df_ComHeadquarters = df['公司总部地_中文'].value_counts()
# 绘图
df_ComHeadquarters.nlargest(n=30).plot.bar(
    figsize=(16, 6),  # 图片大小
    grid=False,  # 显示网格
    title='公司总部分布TOP30-柱形图'  # 图片标题
)
# 保存图片
plt.savefig('公司总部分布TOP30-柱形图.png')

可视化图:

结论:公司分布城市,大多集中在北上广深等一线城市,另外杭州、香港、苏州也位列前茅。

2.3.4 性别分布

代码:

df_Gender = df['性别'].value_counts()
# 绘图
df_Gender.plot.pie(
    figsize=(8, 8),  # 图片大小
    legend=True,  # 显示图例
    autopct='%1.2f%%',  # 百分比格式
    title='性别占比分布-饼图',  # 图片标题
)
# 保存图片
plt.savefig('性别占比分布-饼图.png')

可视化图:

结论:男性富豪占据绝大多数,个别女性在列(巾帼不让须眉👍)

2.3.5 行业分布

代码:

df_Industry = df['所在行业_中文'].value_counts()
df_Industry.nlargest(n=20).plot.bar(
    figsize=(18, 6),  # 图片大小
    grid=False,  # 显示网格
    title='行业分布TOP20-柱形图'  # 图片标题
)
# 保存图片
plt.savefig('行业分布TOP20-柱形图.png')

可视化图:

结论:百富榜中占比最多的行业分别是:房地产、医药、投资、化工等。

2.3.6 组织结构分布

代码:

df_Relations = df['组织结构'].value_counts()
# 绘图
df_Relations.plot.pie(
    figsize=(8, 8),  # 图片大小
    legend=True,  # 显示图例
    autopct='%1.2f%%',  # 百分比格式
    title='组织结构分布-饼图',  # 图片标题
)
# 保存图片
plt.savefig('组织结构分布-饼图.png')

可视化图:

结论:半数以上是未知,企业未对外开放,或榜单没有统计到;家族和夫妇占据前两类。

2.3.7 公司名称词云图

代码:

ComName_list = df['公司名称_中文'].values.tolist()
ComName_str = ' '.join(ComName_list)
stopwords = []  # 停用词
# backgroud_Image = np.array(Image.open('幻灯片2.png'))  # 读取背景图片
wc = WordCloud(
    scale=3,  # 清晰度
    background_color="white",  # 背景颜色
    max_words=1000,#最大字符数
    width=800,  # 图宽
    height=500,  # 图高
    font_path='/System/Library/Fonts/SimHei.ttf',  # 字体文件路径,根据实际情况替换
    stopwords=stopwords,  # 停用词
    # 	mask=backgroud_Image,  # 背景图片
)
wc.generate_from_text(ComName_str)  # 生成词云图
wc.to_file('富豪榜_公司名称_词云图.png')  # 保存图片
wc.to_image()  # 显示图片

可视化图:

结论:阿里系公司占据榜首,其次是海天味业等。

三、整体结论

综上所述,针对富豪榜的榜单数据,得出如下结论:

财富分布:大部分的富豪的财富集中在20亿~400亿之间,个别顶级富豪的财富在3000亿以上。
年龄分布:大部分富豪的年龄在50-60岁,其次是60-70和40-50岁。极少数富豪在20-30岁(年轻有为👍)
城市分布:公司分布城市,大多集中在北上广深等一线城市,另外杭州、香港、苏州也位列前茅
性别分布:男性富豪占据绝大多数,个别女性在列(巾帼不让须眉👍)
行业分布:百富榜中占比最多的行业分别是:房地产、医药、投资、化工等
组织结构分布:半数以上是未知,企业未对外开放,或榜单没有统计到;家族和夫妇占据前两类。
公司名称分布:阿里系公司占据榜首,其次是海天味业等。

四、同步视频讲解

4.1 上集(爬虫讲解)

爬虫讲解视频:
【Python爬虫】爬取富豪榜的榜单数据!

4.2 下集(数据分析讲解)

可视化讲解视频:
【Python数据分析】可视化分析富豪榜的榜单数据!


五、完整源码

获取源码:【爬虫+数据分析+数据可视化】python数据分析全流程富豪榜的榜单数据

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马哥python说

打赏多少不重要,表达认可最重要

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值