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

Python對中國500強排行榜數(shù)據(jù)進行可視化分析實戰(zhàn)

 更新時間:2023年04月18日 10:49:34   作者:極客飛虎  
這篇文章主要介紹了Python對中國500強排行榜數(shù)據(jù)進行可視化分析實戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

??數(shù)據(jù)采集

??確定網(wǎng)址

首先,我們對目標網(wǎng)址進行數(shù)據(jù)采集。我們可以清楚的看到,在2022年中新財富500富人榜。

 確定好我們的目標網(wǎng)址之后,我們要找到我們需要的數(shù)據(jù)源,通過開發(fā)者工具分析,我們不難發(fā)現(xiàn)其數(shù)據(jù)地址。

下面,我們開始寫代碼。

??獲取數(shù)據(jù)

第一步,發(fā)送請求,獲得數(shù)據(jù)。

import requests
url = 'https://service.ikuyu.cn/XinCaiFu2/pcremoting/bdListAction.do?method=getPage&callback=jsonpCallback&sortBy=&order=&type=4&keyword=&pageSize=15&year=2022&pageNo=1&from=jsonp&_=1680092323527'
headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36'}
res = requests.get(url,headers=headers)

我們得到數(shù)據(jù)是這樣的,大家可能會以為是一個json數(shù)據(jù),其實不是,這個返回值需要我們進一步處理。

jsonpCallback({"data":{"pagesize":15,"current":1,"total":500,"rows":[{"assets":4983.5,"year":2022,"sex":"男","name":"鐘睒睒","rank":1,"company":"農(nóng)夫山泉/萬泰生物","industry":"礦泉水飲料、醫(yī)藥生物","id":151478,"addr":"浙江杭州/北京","rankLst":"1","age":"68"}······)

??解析數(shù)據(jù)

我們發(fā)現(xiàn),我們得到了這樣jsonpCallback()的數(shù)據(jù),可能就有人擔心了,那這種情況,我們該怎么辦呢,不要慌,我們只需要正則表達式就可以。

html_data = re.findall('jsonpCallback((.*?))',res.text)[0]

這段代碼中,我們使用 Python 的 re 模塊中的 findall() 函數(shù)來查找 JSONP 回調(diào)函數(shù)的參數(shù)。findall() 函數(shù)可以返回一個列表,其中包含了所有匹配的子字符串。

在這個例子中,我們使用 findall() 函數(shù)來查找 JSONP 回調(diào)函數(shù)的參數(shù),并將其存儲在 res.text 變量中。然后,我們使用 [0] 來獲取第一個匹配的子字符串,并將其存儲在 html_data 變量中。

這樣,我們就得到了json數(shù)據(jù),接下來,我們就開始解析數(shù)據(jù)。

for index in json.loads(html_data)['data']['rows']:
    # print(index)
    dit = {
        '姓名':index['name'],
        '財富值':index['assets'],
        '主要公司':index['company'],
        '相關(guān)行業(yè)': index['industry'],
        '公司總部':index['addr'],
        '排名': index['rank'],
    }

??保存數(shù)據(jù)

我們先把數(shù)據(jù)存入到字典里面,然后,方便我們寫入csv文件里面,我們看看打印出來的字典數(shù)值是怎么樣子的。

 下面就是數(shù)據(jù)的寫入了。其實,把字典數(shù)值寫入到csv文件里面,特別簡單,只需呀四行代碼就可以實現(xiàn)。

f = open('財富榜.csv',mode='a',encoding='utf-8',newline='')
csv_writer = csv.DictWriter(f,fieldnames=['姓名','財富值','主要公司','相關(guān)行業(yè)','公司總部','排名'])
csv_writer.writeheader()

這段代碼中,我們使用 Python 的 open() 函數(shù)打開了一個名為 "財富榜.csv" 的文件,并使用 csv.DictWriter() 函數(shù)創(chuàng)建了一個 csv_writer 對象。fieldnames 參數(shù)用于指定字段名稱,這里我們指定了 "姓名"、"財富值"、"主要公司"、"相關(guān)行業(yè)"、"公司總部"、"排名" 六個字段。

然后,我們使用 csv_writer.writeheader() 方法寫入表頭,表頭包括了字段名稱。

最后,我們使用 csv_writer.write() 方法向文件中寫入數(shù)據(jù),數(shù)據(jù)內(nèi)容為一個字典對象。

寫入字典數(shù)值。

csv_writer.writerow(dit)

這時候,我們就會在文件夾里面找到財富值的csv文件,我們打開看看效果。

在這里,我只采集了第一頁的數(shù)據(jù),也就是前15的數(shù)據(jù),如果,我們想進行多頁數(shù)據(jù)采集,只需要對網(wǎng)址進行改變,我們會發(fā)現(xiàn)網(wǎng)址有相似的規(guī)律。直接for循環(huán)遍歷就可以,這里,就不過多解釋。

??數(shù)據(jù)可視化

??代碼

我們在這里,就要用到pyecharts庫,不得不說,這個功能非常強大,我們寫這個代碼也非常簡單,我們只需要去官方文檔,復(fù)制粘貼就可以,根據(jù)自己的數(shù)據(jù)稍微改動一點代碼就可以。

import pandas as pd
import pyecharts.options as opts
from pyecharts.charts import Line
df = pd.read_csv('財富榜.csv')
x = ['農(nóng)夫山泉/萬泰生物' ,'寧德時代' ,'騰訊控股' ,'今日頭條', '拼多多']
c = (
    Line()
    .add_xaxis(x)
    .add_yaxis("財富值",df['財富值'].values)
    .set_global_opts(title_opts=opts.TitleOpts(title="財富值分布"))
)

這段代碼中,我們使用 Pandas 庫的 read_csv() 函數(shù)讀取了一個名為 "財富榜.csv" 的 CSV 文件,并將其存儲在 df 變量中。然后,我們使用 Line() 函數(shù)創(chuàng)建了一個新的 DataFrame 對象,并使用 add_xaxis() 方法將 x 列添加到 DataFrame 中。接著,我們使用 add_yaxis() 方法將 DataFrame 中的 "財富值" 列添加到 DataFrame 的 "財富值" 列中。最后,我們使用 set_global_opts() 方法設(shè)置了 DataFrame 的標題選項,并使用 title_opts 參數(shù)設(shè)置了標題。

我們直接讓它生成一個網(wǎng)頁,方便我們直觀的感受。

c.render('地圖.html')

??效果

這里,我做的圖不夠好看,但是基本功能都實現(xiàn)了。

 大家如果想做更多的圖表,可以去官方網(wǎng)站看看,官方網(wǎng)站有很多示例可以使用。

??總結(jié)

通過本文的學習,我們學習了數(shù)據(jù)采集以及可視化分析。我們在研究官方文檔的時候,也是在一種學習,本次實戰(zhàn),我們明白如何解決返回值是jsonpCallback()的問題。今天就到這里

以上就是Python對中國500強排行榜數(shù)據(jù)進行可視化分析實戰(zhàn)的詳細內(nèi)容,更多關(guān)于Python排行榜數(shù)據(jù)可視化的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python繪制趨勢圖的示例

    python繪制趨勢圖的示例

    這篇文章主要介紹了python如何繪制趨勢圖,幫助大家更好的用python繪制圖像,進行數(shù)據(jù)可視化分析,感興趣的朋友可以了解下
    2020-09-09
  • 解決python2.7用pip安裝包時出現(xiàn)錯誤的問題

    解決python2.7用pip安裝包時出現(xiàn)錯誤的問題

    這篇文章主要介紹了在python2.7用pip安裝包時出現(xiàn)錯誤問題的解決方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • 使用python實現(xiàn)抓取騰訊視頻所有電影的爬蟲

    使用python實現(xiàn)抓取騰訊視頻所有電影的爬蟲

    這篇文章主要介紹了使用python實現(xiàn)抓取騰訊視頻所有電影的爬蟲,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • python?matplotlib實現(xiàn)條形圖的填充效果

    python?matplotlib實現(xiàn)條形圖的填充效果

    這篇文章主要為大家詳細介紹了python?matplotlib實現(xiàn)條形圖的填充效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • python實現(xiàn)兩個一維列表合并成一個二維列表

    python實現(xiàn)兩個一維列表合并成一個二維列表

    今天小編就為大家分享一篇python實現(xiàn)兩個一維列表合并成一個二維列表,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python使用pycharm導(dǎo)入pymysql教程

    Python使用pycharm導(dǎo)入pymysql教程

    這篇文章主要介紹了Python使用pycharm導(dǎo)入pymysql教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Python可視化庫之HoloViews的使用教程

    Python可視化庫之HoloViews的使用教程

    本文主要為大家介紹了Python中一個優(yōu)秀的可視化庫—HoloViews,不僅能實現(xiàn)一些常見的統(tǒng)計圖表繪制,而且其還擁有Matplotlib、Seaborn等庫所不具備的交互效果,快跟隨小編一起了解一下吧
    2022-02-02
  • Python Flask全棧項目實戰(zhàn)構(gòu)建在線書店流程

    Python Flask全棧項目實戰(zhàn)構(gòu)建在線書店流程

    這篇文章主要為大家介紹了Python Flask全流程全棧項目實戰(zhàn)之在線書店構(gòu)建實現(xiàn)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • django數(shù)據(jù)庫migrate失敗的解決方法解析

    django數(shù)據(jù)庫migrate失敗的解決方法解析

    這篇文章主要介紹了django數(shù)據(jù)庫migrate失敗的解決方法解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • Python 取numpy數(shù)組的某幾行某幾列方法

    Python 取numpy數(shù)組的某幾行某幾列方法

    這篇文章主要介紹了Python 取numpy數(shù)組的某幾行某幾列方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10

最新評論