1. 背景介紹
前不久,朋友發(fā)給我兩張圖片(如下) ,圖片中是表格形式的數(shù)據(jù),包含了 最新中國上市公司市值500強(qiáng) 的那些公司。 目的: 想要讓我提取圖片中的表格數(shù)據(jù)。 于是,借著這些數(shù)據(jù),有感而發(fā),寫了這篇文章。 想要分析這些數(shù)據(jù),首先就要想到如何獲取到圖片中的這些數(shù)據(jù)。當(dāng)然我這里,借用的是百度的 表格識別api 。 然而,這里又出現(xiàn)一個(gè)問題,雖是500行數(shù)據(jù),但是就兩張圖片,每一張就超級大,無法識別。于是,考慮在識別圖片表格數(shù)據(jù)之前,先對圖片進(jìn)行切分。 整個(gè) 獲取圖片表格數(shù)據(jù) 的思路就是這樣,咱們直接上代碼吧! 圖片切分 下面切分算法,以每張圖860像素為基準(zhǔn)進(jìn)行切分,不是開頭的,圖片上面補(bǔ)25個(gè)像素,保證每個(gè)單元格都完整出現(xiàn)在每張圖片里。 import mathfrom PIL import Image img = Image.open("500強(qiáng).png" ) w, h = img.size height = 860 r = math.ceil(h/height) img_splits = []for i in range(r): start = height * i end = height * (i + 1 ) if end > h: end = h if i != 0 : start -= 25 box = (0 , start, w, end) img_split = img.crop(box) print(i) display(img_split) img_splits.append(img_split)圖片表格數(shù)據(jù)識別 https://ai.baidu.com/tech/ocr_others/table 最主要就是: 注冊百度AI賬號,創(chuàng)建應(yīng)用后在應(yīng)用列表里獲取ak和sk。import pandas as pd request_url = f"https://aip.baidubce.com/rest/2.0/solution/v1/form_ocr/request?access_token={access_token} " headers = {'content-type' : 'application/x-www-form-urlencoded' } base64_str = image_to_base64(img_splits[0 ]) params = {"image" : base64_str, "is_sync" : "true" , "request_type" : "excel" } json_data = requests.post(request_url, data=params, headers=headers).json() df = pd.read_excel(excel_url, header=None ) df上面只是其中一張圖片,接著需要對所有圖片分別進(jìn)行識別,做一個(gè)數(shù)據(jù)拼接,即可得到最終的數(shù)據(jù)。 2. 數(shù)據(jù)分析 7月1日,萬得2021上半年中國上市企業(yè)市值 500 強(qiáng)榜單正式公開發(fā)布,統(tǒng)計(jì)時(shí)間截止2021年6月30日。 接著,我們讀取上述獲取到了數(shù)據(jù),進(jìn)行數(shù)據(jù)分析。 基本信息統(tǒng)計(jì) 本次編制的500強(qiáng),入圍門檻為市值492億元 (公司簡稱"知乎") ,市值最大的為46626億元 (公司簡稱"騰訊控股") ,500強(qiáng)上市公司總市值約98.78萬億。 萬億市值公司都在哪些? 我們分別對總市值大于10000的公司,做個(gè)統(tǒng)計(jì): 從結(jié)果中可以看到,在500強(qiáng)榜單中,有13家萬億市值公司。
根據(jù)榜單數(shù)據(jù)顯示: 這13家萬億市值公司,分別是騰訊控股、阿里、臺積電、貴州茅臺、工商銀行、美團(tuán)、招商銀行、建設(shè)銀行、寧德時(shí)代、中國平安、五糧液、農(nóng)業(yè)銀行、拼多多。我們又分別按照地域分組,發(fā)現(xiàn)在這13家萬億市值公司中, 北京有4家 (工行、美團(tuán)、建行、農(nóng)行), 廣東(深圳)有3家 (騰訊、招行、中國平安), 上海1家 (拼多多), 浙江1家 (阿里), 臺灣1家 (臺積電), 貴州1家 (茅臺), 福建1家 (寧德時(shí)代), 四川1家 (五糧液)。 寧德時(shí)代 是指寧德時(shí)代新能源科技股份有限公司,這是一個(gè)位于三四線城市的小企業(yè)。寧德時(shí)代創(chuàng)辦于2011年,憑借新能源汽車熱潮,僅用六年的時(shí)間就坐上全球新能源電池第一供應(yīng)商的“龍頭椅” 。千億市值公司都在哪些? 我們分別對總市值大于1000的公司,做個(gè)統(tǒng)計(jì): 從結(jié)果中可以看到,在500強(qiáng)榜單中,有254家千億市值公司。 我們分別按照地域分組,發(fā)現(xiàn)在這254家千億市值公司中, 北京59家 、 廣東40家 、 香港27家 , 上海25家 、 深圳24家 、 臺灣19家 ...... 對于不同城市的上市公司,我這里也為大家總了一個(gè)簡單的統(tǒng)計(jì), 數(shù)據(jù)如下圖所示 。 注明: 這里無法一次性顯示完整,我為大家導(dǎo)出了Excel,需要的朋友,可以私信我。中國上市公司500強(qiáng)分布地圖 觀察地圖,可以發(fā)現(xiàn)北京、廣東、上海、香港、臺灣、浙江的上市公司較多,而有些城市,像黑龍江、甘肅、青海、西藏、廣西、海南沒有一個(gè)上市公司。 我們現(xiàn)在來看看具體的數(shù)據(jù), 你有什么想說的? 中國上市公司500強(qiáng)行業(yè)詞云圖 我們按照行業(yè)分組,分別對行業(yè)數(shù)據(jù)做一個(gè)詞云圖統(tǒng)計(jì),發(fā)現(xiàn)電子、醫(yī)藥生物、信息技術(shù)、房地產(chǎn)、銀行、汽車、證券經(jīng)紀(jì)等行業(yè)較多。 我們來看一個(gè)具體的數(shù)據(jù), 你又有什么想說的?
相關(guān)閱讀: