亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

??確定網(wǎng)址

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

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

下面,我們開始寫代碼。

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

第一步,發(fā)送請(qǐng)求,獲得數(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ù)是這樣的,大家可能會(huì)以為是一個(gè)json數(shù)據(jù),其實(shí)不是,這個(gè)返回值需要我們進(jìn)一步處理。

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ù),可能就有人擔(dān)心了,那這種情況,我們?cè)撛趺崔k呢,不要慌,我們只需要正則表達(dá)式就可以。

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

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

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

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

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

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

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

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

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

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

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

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

寫入字典數(shù)值。

csv_writer.writerow(dit)

這時(shí)候,我們就會(huì)在文件夾里面找到財(cái)富值的csv文件,我們打開看看效果。

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

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

??代碼

我們?cè)谶@里,就要用到pyecharts庫(kù),不得不說,這個(gè)功能非常強(qiáng)大,我們寫這個(gè)代碼也非常簡(jiǎn)單,我們只需要去官方文檔,復(fù)制粘貼就可以,根據(jù)自己的數(shù)據(jù)稍微改動(dòng)一點(diǎn)代碼就可以。

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

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

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

c.render('地圖.html')

??效果

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

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

??總結(jié)

通過本文的學(xué)習(xí),我們學(xué)習(xí)了數(shù)據(jù)采集以及可視化分析。我們?cè)谘芯抗俜轿臋n的時(shí)候,也是在一種學(xué)習(xí),本次實(shí)戰(zhàn),我們明白如何解決返回值是jsonpCallback()的問題。今天就到這里

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

相關(guān)文章

  • python繪制趨勢(shì)圖的示例

    python繪制趨勢(shì)圖的示例

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

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

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

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

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

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

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

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

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

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

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

    Python可視化庫(kù)之HoloViews的使用教程

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

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

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

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

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

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

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

最新評(píng)論