今天带大家分析一下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名,来自全球各国,现在我们先统计一下各国人数占比情况
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]=jtuple_country=sorted(dict_country.items(),key=lambda x:x[1],reverse=True)
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倍
接下来想分析一下,各国亿万富豪平均身价情况
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)
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亿美元,其次是比利时、法国、新西兰、尼日利亚、丹麦、塞浦路斯、美国。
最后,让我们来分析一下,看看哪些行业有钱人最多
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]=jtuple_kind=sorted(dict_country.items(),key=lambda x:x[1],reverse=True)
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%,前五名分别为房地产,投资,多元化经营,医药,对冲基金。
完整代码和数据请在公众号【Python/ target=_blank class=infotextkey>Python数据分析之禅后台】回复福布斯获取