本文主要是介绍【爬虫+数据分析+数据可视化】python数据分析全流程富豪榜的榜单数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 一、爬虫
- 二、数据分析
- 2.1 导入库
- 2.2 数据概况
- 2.3 可视化分析
- 2.3.1 财富分布
- 2.3.2 年龄分布
- 2.3.3 公司总部分布
- 2.3.4 性别分布
- 2.3.5 行业分布
- 2.3.6 组织结构分布
- 2.3.7 公司名称词云图
- 三、整体结论
- 四、同步视频讲解
- 4.1 上集(爬虫讲解)
- 4.2 下集(数据分析讲解)
一、爬虫
爬虫部分,不做详细讲解,下面主要介绍可视化代码。
看一下榜单上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数据分析全流程富豪榜的榜单数据
这篇关于【爬虫+数据分析+数据可视化】python数据分析全流程富豪榜的榜单数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!