点击上方“Python数据分析之禅”,关注并回复“福利1”
可免费获取数据分析视频
今天带大家分析一下2020福布斯全球亿万富豪榜,看一下哪些国家有钱人最多、哪些行业比较产有钱人。
数据来源于福布斯富豪排行榜官网,网址为:
https://www.forbeschina.com/lists/1733
写了个爬虫小程序,把网页数据存入表格,核心代码如下:
items=soup.find_all('tr') result=[] for item in items[:-1]: result.append([i.text for i in item.find_all('td')]) with open('2020年福布斯排行榜.csv', 'a+', newline='')as f: f_csv = csv.writer(f) f_csv.writerows(result)
一、福布斯排行榜各国家人数占比
福布斯排行榜亿万富翁总共有1990名,来自全球各国,现在我们先统计一下各国人数占比情况
1.数据处理代码
import pandas as pd data=pd.read_csv('2020年福布斯排行榜.csv',encoding='gbk') list_country=list(set(list(data['国家和地区']))) #去重 dict_country={} list_country_count=[list(data['国家和地区']).count(i) for i in list_country] for i, j in zip(list_country, list_country_count): dict_country[i]=j tuple_country=sorted(dict_country.items(),key=lambda x:x[1],reverse=True)
2.数据分析代码
from pyecharts import options as opts from pyecharts.charts import Pie pie = ( Pie() .add( "", tuple_country[:20], radius=["30%", "75%"], rosetype="radius", label_opts=opts.LabelOpts(is_show=False), ) .set_global_opts( title_opts=opts.TitleOpts(title="全球各国福布斯排行人数统计"), legend_opts=opts.LegendOpts(type_="scroll", pos_left="90%", orient="vertical"), ) .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c},{d}%")) ) pie.render_notebook()
人数最多的国家是美国,有614名,占比33.26%,其次是中国内地,有387名,占比20.96%,而印度和我国想比就相差甚远,不算香港还将近是它的4倍
二、分析各国亿万富豪平均身价
接下来想分析一下,各国亿万富豪平均身价情况
1.数据分析代码
import pandas as pd data=pd.read_csv('2020年福布斯排行榜.csv',encoding='gbk') #各国占比 list_country=list(set(list(data['国家和地区']))) #去重 dict_country={} list_country_count=[list(data['国家和地区']).count(i) for i in list_country] for i, j in zip(list_country, list_country_count): dict_country[i]=j tuple_country=sorted(dict_country.items(),key=lambda x:x[1],reverse=True) dict_money={} for i,j in tuple_country: eve_money=round(sum(int(n) for n in list(data[data['国家和地区'].eq(i)]['财富(亿美元)']))/j,2) dict_money[i]=eve_money tuple_money=sorted(dict_money.items(),key=lambda x:x[1],reverse=True)
2.数据处理代码
from pyecharts import options as opts from pyecharts.charts import Bar from pyecharts.globals import ThemeType l1=[i[0] for i in tuple_money] l2=[i[1] for i in tuple_money] bar = ( Bar({"theme": ThemeType.MACARONS}) .add_xaxis(l1) .add_yaxis("", l2) .set_global_opts(title_opts=opts.TitleOpts(title="各国亿万富豪平均身价"), datazoom_opts=opts.DataZoomOpts(type_="slider"), yaxis_opts=opts.AxisOpts(name="亿元"), xaxis_opts=opts.AxisOpts(name="国家")) ) bar.render_notebook()
墨西哥的富豪平均身价最高,为85.83亿美元,其次是比利时、法国、新西兰、尼日利亚、丹麦、塞浦路斯、美国。
三、统计分析哪个行业亿万富豪最多
最后,让我们来分析一下,看看哪些行业有钱人最多
1.数据处理
import pandas as pd data=pd.read_csv('2020年福布斯排行榜.csv',encoding='gbk') list_country=list(set(list(data['财富来源']))) #去重 dict_country={} list_country_count=[list(data['财富来源']).count(i) for i in list_country] for i, j in zip(list_country, list_country_count): dict_country[i]=j tuple_kind=sorted(dict_country.items(),key=lambda x:x[1],reverse=True)
2.数据分析
from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.globals import ThemeType pie = ( Pie() .add( "", tuple_kind[:20], radius=["30%", "75%"], rosetype="radius", label_opts=opts.LabelOpts(is_show=False), ) .set_global_opts( title_opts=opts.TitleOpts(title="各行业亿万富豪占比统计"), legend_opts=opts.LegendOpts(type_="scroll", pos_left="90%", orient="vertical"), ) .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c},{d}%")) ) pie.render_notebook()
房地产不愧为龙头老大,有167名亿万富豪,占比21.58%,前五名分别为房地产,投资,多元化经营,医药,对冲基金。
-完-
完整代码请扫码关注公众号并回复福布斯获取