python-bird

​点击上方“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%,前五名分别为房地产,投资,多元化经营,医药,对冲基金。

 

-完-

 

完整代码请扫码关注公众号并回复福布斯获取

 

分类:

技术点:

相关文章: