欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用Python對(duì)中國(guó)500強(qiáng)排行榜數(shù)據(jù)進(jìn)行可視化分析

 更新時(shí)間:2022年05月18日 16:21:08   作者:??Python研究者????  
這篇文章主要介紹了利用Python對(duì)中國(guó)500強(qiáng)排行榜數(shù)據(jù)進(jìn)行可視化分析,從不同角度去對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,可視化展示,下文詳細(xì)內(nèi)容介紹需要的小伙伴可以參考一下

一、前言

今天來跟大家分析一下2020年中國(guó)500強(qiáng)企業(yè)排行榜數(shù)據(jù),從不同角度去對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,可視化展示。

主要分析內(nèi)容

中國(guó)500強(qiáng)企業(yè)-省份分布。

中國(guó)500強(qiáng)企業(yè)-營(yíng)業(yè)收入年增率。

中國(guó)500強(qiáng)企業(yè)-營(yíng)業(yè)收入年減率。

中國(guó)500強(qiáng)企業(yè)-利潤(rùn)年增率。

中國(guó)500強(qiáng)企業(yè)-利潤(rùn)年減率。

中國(guó)500強(qiáng)企業(yè)-排名上升最快。

中國(guó)500強(qiáng)企業(yè)-排名下降最快。

中國(guó)500強(qiáng)企業(yè)-資產(chǎn)區(qū)間分布。

中國(guó)500強(qiáng)企業(yè)-市值區(qū)間分布。

中國(guó)500強(qiáng)企業(yè)-營(yíng)業(yè)收入?yún)^(qū)間分布。

中國(guó)500強(qiáng)企業(yè)-利潤(rùn)區(qū)間分布。

中國(guó)500強(qiáng)企業(yè)-排名前10營(yíng)業(yè)收入、利潤(rùn)、資產(chǎn)、市值、股東權(quán)益等情況。

下面開始從數(shù)據(jù)采集到數(shù)據(jù)統(tǒng)計(jì)分析,最后進(jìn)行可視化?。?!

二、數(shù)據(jù)采集

1.開始爬取

獲取企業(yè)列表

url="http://www.fortunechina.com/fortune500/c/2020-07/27/content_369925.htm"
res = requests.get(url,headers=headers)
res.encoding = 'utf-8'
text = res.text

獲取企業(yè)對(duì)應(yīng)url

for i in range(0,len(table_tr)):
    try:
        #name = i.xpath('.//td/a/text()')[0]
        href = table_tr[i].xpath('.//td/a/@href')[0].replace("../../../../","http://www.fortunechina.com/")
        column_list = get_detail(href)
        for k in range(0,len(column_list)):
             outws.cell(row=count, column=k+1, value=column_list[k])
        print(count)
        count = count+1
    except:
        pass

獲取每一個(gè)企業(yè)相關(guān)數(shù)據(jù)

name = selector.xpath('//*[@class="comp-name"]/text()')[0]
r1 = selector.xpath('//*[@class="con"]/em[@class="r1"]/text()')[0]
r2 = selector.xpath('//*[@class="con"]/span/em/font[@class="ft-red"]/text()')[0]
address = selector.xpath('//*[@class="info"]/p')[0].xpath('.//text()')[0].replace(" ", "")
table_tbody_tr = selector.xpath('//*[@class="table"]/table/tr')

2.保存到Excel

outwb = openpyxl.Workbook()
outws = outwb.create_sheet(index=0)
outws.cell(row=1, column=1, value="企業(yè)名稱")
outws.cell(row=1, column=2, value="2020年排名")
outws.cell(row=1, column=3, value="2019年排名")
outws.cell(row=1, column=4, value="總部地址")
outws.cell(row=1, column=5, value="營(yíng)業(yè)收入")
outws.cell(row=1, column=6, value="營(yíng)業(yè)收入年增減")
outws.cell(row=1, column=7, value="利潤(rùn)")
outws.cell(row=1, column=8, value="利潤(rùn)年增減")
outws.cell(row=1, column=9, value="資產(chǎn)")
outws.cell(row=1, column=10, value="市值")
outws.cell(row=1, column=11, value="股東權(quán)益")
outwb.save("中國(guó)500強(qiáng)排行榜數(shù)據(jù).xlsx")  # 保存

數(shù)據(jù)就已經(jīng)保存到Excel中,下面開始進(jìn)行統(tǒng)計(jì)分析可視化!

三、可視化分析

1.省份分布

導(dǎo)入相關(guān)可視化庫(kù)

from pyecharts import options as opts
from pyecharts.charts import Line
from pyecharts.charts import Map
import pandas as pd
from pyecharts import options as opts
from pyecharts.globals import ThemeType
from pyecharts.charts import Bar

統(tǒng)計(jì)數(shù)據(jù)

從excel中中取出:總部地址,然后取出前兩位(省份),統(tǒng)計(jì)每一個(gè)省份的500強(qiáng)分布情況

address = pd_data['總部地址']
address = address.tolist()
address_03 = []
for i in address:
    ###取省份(前兩位)
    address_03.append(i[0:2])
data =[]
address_03_set = set(address_03)  #address_03_set是另外一個(gè)列表,里面的內(nèi)容是address_03里面的無重復(fù) 項(xiàng)
for item in address_03_set:
  data.append((item,address_03.count(item)))

地圖可視化

def map_china() -> Map:
  c = (
    Map()
    .add(series_name="企業(yè)數(shù)量", data_pair=data, maptype="china",zoom = 1,center=[105,38])
    .set_global_opts(
      title_opts=opts.TitleOpts(title="中國(guó)500強(qiáng)企業(yè)省份分布"),
      visualmap_opts=opts.VisualMapOpts(max_=9999,is_piecewise=True,
              pieces=[{"max": 9, "min": 0, "label": "0-9","color":"#FFE4E1"},
                  {"max": 99, "min": 10, "label": "10-99","color":"#FF7F50"},
                  {"max": 499, "min": 100, "label": "100-499","color":"#F08080"},
                  {"max": 999, "min": 500, "label": "500-999","color":"#CD5C5C"},
                  {"max": 9999, "min": 1000, "label": ">=1000", "color":"#8B0000"}]
                       )
    )
  )
  return c

2.營(yíng)業(yè)收入年增率

從excel中中取出:營(yíng)業(yè)收入年增減,統(tǒng)計(jì)增加率最大的前50名和減少率(負(fù)數(shù))最大的前50名

income_rate = pd_data['營(yíng)業(yè)收入年增減']
compare_name = pd_data['企業(yè)名稱']
income_rate = income_rate.tolist()
compare_name = compare_name.tolist()
m = income_rate
# 求一個(gè)list中最大的50個(gè)數(shù),并排序
max_number = heapq.nlargest(50, m)
# 最大的2個(gè)數(shù)對(duì)應(yīng)的,如果用nsmallest則是求最小的數(shù)及其索引
max_index = map(m.index, heapq.nlargest(50, m))
# max_index 直接輸出來不是數(shù),使用list()或者set()均可輸出
#print(set(max_index)) ###{235, 140, 273, 148, 86}
max_index = list(set(max_index))
#ss = [m.index(j) for j in max_number]
name =[compare_name[k] for k in set(max_index)]
outwb = openpyxl.Workbook()
outws = outwb.create_sheet(index=0)

3.營(yíng)業(yè)收入年減率

income_rate = income_rate.tolist()
compare_name = compare_name.tolist()
m = income_rate
# 求一個(gè)list中最小的50個(gè)數(shù),并排序
min_number = heapq.nsmallest(60, m)
min_index = [m.index(j) for j in min_number]
name =[compare_name[k] for k in set(min_index)]

4.利潤(rùn)年增率

從excel中中取出:利潤(rùn)年增減,統(tǒng)計(jì)增加率最大的前50名和減少率(負(fù)數(shù))最大的前50名

5.利潤(rùn)年減率

6.排名上升最快20家企業(yè)

從excel中中取出:2020年排名和2019年排名,進(jìn)行對(duì)比,統(tǒng)計(jì)排名上升最大的前20家企業(yè),和排名下降最大的前20家企業(yè)。

###折線圖
def LinePic(x_data,y_data,name):
    (
        Line()
            # 進(jìn)行全局設(shè)置
            .set_global_opts(
            tooltip_opts=opts.TooltipOpts(is_show=True),  # 顯示提示信息,默認(rèn)為顯示,可以不寫
            xaxis_opts=opts.AxisOpts(type_="category"),
            yaxis_opts=opts.AxisOpts(
                type_="value",
                axistick_opts=opts.AxisTickOpts(is_show=True),
                splitline_opts=opts.SplitLineOpts(is_show=True),
            ),
        )
            # 添加x軸的點(diǎn)
            .add_xaxis(xaxis_data=x_data)
            # 添加y軸的點(diǎn)
            .add_yaxis(
            series_name=name,
            y_axis=y_data,
            symbol="emptyCircle",
            is_symbol_show=True,
            label_opts=opts.LabelOpts(is_show=True),
        )
            # 保存為一個(gè)html文件
            .render(name+".html")
    )

7.排名下降最快20家企業(yè)

8.資產(chǎn)區(qū)間分布

從excel中中取出:資產(chǎn),為9000 間隔進(jìn)行區(qū)間劃分,并統(tǒng)計(jì)每一個(gè)區(qū)間的個(gè)數(shù)。

for k, g in groupby(sorted(assets_list), key=lambda x: x // 90000):
    name.append(str(k * 90000) + "~" + str((k + 1) * 90000 - 1))
    dict_value.append(int(len(list(g))))

9.市值區(qū)間分布

從excel中中取出:市值,為7000 間隔進(jìn)行區(qū)間劃分,并統(tǒng)計(jì)每一個(gè)區(qū)間的個(gè)數(shù)。

for k, g in groupby(sorted(assets_list), key=lambda x: x // 7000):
    name.append(str(k * 7000) + "~" + str((k + 1) * 7000 - 1))
    dict_value.append(int(len(list(g))))

10.營(yíng)業(yè)收入?yún)^(qū)間分布

從excel中中取出:營(yíng)業(yè)收入,為50000 間隔進(jìn)行區(qū)間劃分,并統(tǒng)計(jì)每一個(gè)區(qū)間的個(gè)數(shù)。

for k, g in groupby(sorted(assets_list), key=lambda x: x // 50000):
    name.append(str(k * 50000) + "~" + str((k + 1) * 50000 - 1))
    dict_value.append(int(len(list(g))))

11.利潤(rùn)區(qū)間分布

從excel中中取出:利潤(rùn)5000 間隔進(jìn)行區(qū)間劃分,并統(tǒng)計(jì)每一個(gè)區(qū)間的個(gè)數(shù)。

for k, g in groupby(sorted(assets_list), key=lambda x: x//5000):
    name.append(str(k*5000)+"~"+str((k+1)*5000-1))
    dict_value.append(int(len(list(g))))

12.中國(guó)500強(qiáng)企業(yè)-排名前10營(yíng)業(yè)收入、利潤(rùn)、資產(chǎn)、市值、股東權(quán)益

從excel中中取出排名前10: **營(yíng)業(yè)收入、**利潤(rùn)、資產(chǎn)、市值、股東權(quán)益、

name = pd_data['企業(yè)名稱'][0:11].tolist()
data_1 = pd_data['營(yíng)業(yè)收入'][0:11].tolist()
data_2 = pd_data['利潤(rùn)'][0:11].tolist()
data_3 = pd_data['資產(chǎn)'][0:11].tolist()
data_4 = pd_data['市值'][0:11].tolist()
data_5 = pd_data['股東權(quán)益'][0:11].tolist()
# 鏈?zhǔn)秸{(diào)用
c = (
    Bar(
        init_opts=opts.InitOpts(  # 初始配置項(xiàng)
            theme=ThemeType.MACARONS,
            animation_opts=opts.AnimationOpts(
                animation_delay=1000, animation_easing="cubicOut"  # 初始動(dòng)畫延遲和緩動(dòng)效果
            ))
    )
        .add_xaxis(xaxis_data=name)  # x軸
        .add_yaxis(series_name="營(yíng)業(yè)收入", yaxis_data=cleardata(data_1))  # y軸
        .add_yaxis(series_name="利潤(rùn)", yaxis_data=cleardata(data_2))  # y軸
        .add_yaxis(series_name="資產(chǎn)", yaxis_data=cleardata(data_3))  # y軸
        .add_yaxis(series_name="市值", yaxis_data=cleardata(data_4))  # y軸
        .add_yaxis(series_name="股東權(quán)益", yaxis_data=cleardata(data_5))  # y軸
        .set_global_opts(
        title_opts=opts.TitleOpts(title='', subtitle='排名前10經(jīng)濟(jì)情況',  # 標(biāo)題配置和調(diào)整位置
                                  title_textstyle_opts=opts.TextStyleOpts(
                                      font_family='SimHei', font_size=25, font_weight='bold', color='red',
                                  ), pos_left="90%", pos_top="10",
                                  ),
        xaxis_opts=opts.AxisOpts(name='企業(yè)名稱', axislabel_opts=opts.LabelOpts(rotate=20)),
        # 設(shè)置x名稱和Label rotate解決標(biāo)簽名字過長(zhǎng)使用
        yaxis_opts=opts.AxisOpts(name='單位:百萬美元'),
 
    )
        .render("2020年中國(guó)500強(qiáng)-排名前10名經(jīng)濟(jì)情況.html")
)

四、總結(jié)

本文主要對(duì)以下12個(gè)方面進(jìn)行統(tǒng)計(jì)分析,最后繪制可視化圖

中國(guó)500強(qiáng)企業(yè)-省份分布。

中國(guó)500強(qiáng)企業(yè)-營(yíng)業(yè)收入年增率。

中國(guó)500強(qiáng)企業(yè)-營(yíng)業(yè)收入年減率。

中國(guó)500強(qiáng)企業(yè)-利潤(rùn)年增率。

中國(guó)500強(qiáng)企業(yè)-利潤(rùn)年減率。

中國(guó)500強(qiáng)企業(yè)-排名上升最快。

中國(guó)500強(qiáng)企業(yè)-排名下降最快。

中國(guó)500強(qiáng)企業(yè)-資產(chǎn)區(qū)間分布。

中國(guó)500強(qiáng)企業(yè)-市值區(qū)間分布。

中國(guó)500強(qiáng)企業(yè)-營(yíng)業(yè)收入?yún)^(qū)間分布。

中國(guó)500強(qiáng)企業(yè)-利潤(rùn)區(qū)間分布。

中國(guó)500強(qiáng)企業(yè)-排名前10營(yíng)業(yè)收入、利潤(rùn)、資產(chǎn)、市值、股東權(quán)益等情況。

到此這篇關(guān)于利用Python對(duì)中國(guó)500強(qiáng)排行榜數(shù)據(jù)進(jìn)行可視化分析的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)可視化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python合并列表、字典、字符串、CSV文件、多文件技巧

    Python合并列表、字典、字符串、CSV文件、多文件技巧

    在 Python 中,有多種方法可以實(shí)現(xiàn)數(shù)據(jù)合并,無論是合并列表、合并字典、合并字符串、合并CSV文件還是合并多個(gè)文件夾中的文件,都可以使用簡(jiǎn)單而強(qiáng)大的Python技巧來實(shí)現(xiàn),通過合并數(shù)據(jù),可以更方便地進(jìn)行數(shù)據(jù)處理和分析
    2024-03-03
  • win10系統(tǒng)配置GPU版本Pytorch的詳細(xì)教程

    win10系統(tǒng)配置GPU版本Pytorch的詳細(xì)教程

    這篇文章主要介紹了win10系統(tǒng)配置GPU版本Pytorch,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • Python讀取mat文件,并保存為pickle格式的方法

    Python讀取mat文件,并保存為pickle格式的方法

    今天小編就為大家分享一篇Python讀取mat文件,并保存為pickle格式的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python畫一個(gè)玫瑰和一個(gè)愛心

    python畫一個(gè)玫瑰和一個(gè)愛心

    這篇文章主要教大家用python畫一個(gè)玫瑰和一個(gè)愛心,作為女生節(jié)禮物,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 記一次Django響應(yīng)超慢的解決過程

    記一次Django響應(yīng)超慢的解決過程

    這篇文章主要介紹了記一次Django響應(yīng)超慢的解決過程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python?pytest自動(dòng)化測(cè)試庫(kù)十個(gè)強(qiáng)大用法示例

    Python?pytest自動(dòng)化測(cè)試庫(kù)十個(gè)強(qiáng)大用法示例

    本文將介紹Python的pytest庫(kù)的10個(gè)強(qiáng)大用法,并提供相應(yīng)的代碼示例,幫助你更好地理解和應(yīng)用單元測(cè)試,它提供了許多高級(jí)功能和便利的用法,能夠讓我們更輕松地編寫和執(zhí)行單元測(cè)試
    2024-01-01
  • Python三數(shù)之和的實(shí)現(xiàn)方式

    Python三數(shù)之和的實(shí)現(xiàn)方式

    這篇文章主要介紹了Python三數(shù)之和的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python入門教程之運(yùn)算符重載詳解

    Python入門教程之運(yùn)算符重載詳解

    運(yùn)算符重載意味著賦予超出其預(yù)定義的操作含義的擴(kuò)展含義。例如運(yùn)算符 + 用于添加兩個(gè)整數(shù)以及連接兩個(gè)字符串和合并兩個(gè)列表。本文將通過示例帶大家詳細(xì)了解Python的運(yùn)算符重載,感興趣的可以了解一下
    2022-09-09
  • python+selenium 鼠標(biāo)事件操作方法

    python+selenium 鼠標(biāo)事件操作方法

    今天小編就為大家分享一篇python+selenium 鼠標(biāo)事件操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 在Python編程過程中用單元測(cè)試法調(diào)試代碼的介紹

    在Python編程過程中用單元測(cè)試法調(diào)試代碼的介紹

    這篇文章主要介紹了在Python編程過程中用單元測(cè)試法調(diào)試代碼的介紹,包括使用斷言等,有助于debug時(shí)的效率提升,需要的朋友可以參考下
    2015-04-04

最新評(píng)論