記一次練習(內容待完善)

記錄最近一次爬蟲和數據可視化練習

0、數據獲取

import pandas as pdyear = [2018,2019,2020,2021,2022]
header = {"User-Agent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Mobile Safari/537.36 Edg/111.0.1661.44"
}
for i in year:url = ""df = pd.read_html(url, header=None)[13]# 刪除空行df = df.drop(index=[1])# 刪除最后一列df = df.drop(columns=["久其軟件(002279) 利潤表單位:萬元.5"])# 如果不是2018年,則刪除第一列if i != 2018:df = df.drop(columns=["久其軟件(002279) 利潤表單位:萬元"])df1 = df.T# 寫入csv文件df1.to_csv('2019.csv', header=None, mode="a", index=None)

1、數據可視化

1.1從文件中讀取數據

# 讀取寫入的文件
all_data = pd.read_csv("2019.csv")
# all_data.duplicated().sum() # 查看重復值
# all_data.drop_duplicates(inplace=True)
# all_data.isnull().sum() #  查看空值
# all_data.fillna(0, inplace=True)
# all_data.reset_index(drop=True, inplace=True) # 重置索引

1.2繪圖

這里使用pyecharts來進行繪制,官方文檔,官方demo

繪制折柱混合圖

import pyecharts
from pyecharts.charts import Line, Bar, Grid, WordCloud
import pyecharts.options as opts# 省略數據處理部分bar1 = (Bar().add_xaxis(year).add_yaxis("營業收入", year_income, bar_width=50).set_global_opts(title_opts=opts.TitleOpts(title="營業收入", subtitle="單位(元)"), yaxis_opts=opts.AxisOpts(min_=200000, max_=400000),legend_opts=opts.LegendOpts(is_show=False))
)
line1 = (Line().add_xaxis(year).add_yaxis("營業收入", year_income, linestyle_opts=opts.LineStyleOpts(color="red", width=4))
)bar2 = (Bar().add_xaxis(year).add_yaxis("營業費用", year_fee, bar_width=50).set_global_opts(title_opts=opts.TitleOpts(title="營業費用", subtitle="單位(元)", pos_left="48%"), yaxis_opts=opts.AxisOpts(min_=250000, max_=400000),legend_opts=opts.LegendOpts(is_show=False))
)
line2 = (Line().add_xaxis(year).add_yaxis("營業費用", year_fee, linestyle_opts=opts.LineStyleOpts(color="red", width=4))
)
overlap1 = bar1.overlap(line1)
overlap2 = bar2.overlap(line2)grid = (Grid(init_opts=opts.InitOpts(width="1200px", height="800px", page_title="營收與利潤")).add(overlap1, grid_opts=opts.GridOpts(pos_right="58%")).add(overlap2, grid_opts=opts.GridOpts(pos_left="58%")).render('1.html')
)

繪制標簽切換圖

# 繪圖
def create_line(profit):season = []accu_money = [] # 累積利潤money = [] # 每季度利潤for key in profit:season.append(key)accu_money.append(profit[key])accu_money = accu_money[::-1]money.append(accu_money[0])money.append(accu_money[1] - accu_money[0])money.append(accu_money[2] - accu_money[1])money.append(accu_money[3] - accu_money[2])line = (Line().add_xaxis(season[::-1]).add_yaxis("", money).set_global_opts(title_opts=opts.TitleOpts(title="季度利潤", subtitle="單位(元)")))return linetab = Tab(page_title="季度利潤") # 設置網頁標簽的標題
tab.add(create_line(profit_2018), "2018")
tab.add(create_line(profit_2019), "2019")
tab.add(create_line(profit_2020), "2020")
tab.add(create_line(profit_2021), "2021")
tab.add(create_line(profit_2022), "2022")
tab.render("2.html")

繪制大屏

首先繪制要展示的各種圖表,通過page對象進行整合

# 創建page對象整合布局
from pyecharts.charts import Page# 實例化page對象,指定布局方式
page = Page(layout=Page.DraggablePageLayout, page_title="基于Pyecharts的數據大屏")
page.add(bar1,line1,bar2,line2,create_line(profit_2018),create_line(profit_2019),create_line(profit_2020),create_line(profit_2021),create_line(profit_2022),
)
page.render("4.html")

接著在瀏覽器中調整各圖表的大小和位置,保存json文件后,重新進行渲染

Page.save_resize_html(source="4.html", cfg_file="./chart_config.json", dest="5.html")

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/37155.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/37155.shtml
英文地址,請注明出處:http://en.pswp.cn/news/37155.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

31 | 獨角獸企業數據分析

獨角獸企業:是投資行業尤其是風險投資業的術語,一般指成立時間不超過10年、估值超過10億美元的未上市創業公司。 項目目的: 1.通過對獨角獸企業進行全面地分析(地域,投資方,年份,行業等),便于做商業上的戰略決策 項目數據源介紹 1.數據源:本項目采用的數據源是近…

2023年大廠前端面試題匯總

一、58同城前端面試題27道 1. css盒模型 2. css畫三角形 3. 盒子水平垂直居中(所有方式) 4. 重繪、重排 重繪就是重新繪制(repaint):是在一個元素的外觀被改變所觸發的瀏覽器行為,瀏覽器會根據元素的新屬性…

文檔控件DevExpress Office File API v23.1新版亮點 - 支持.NET MAUI

DevExpress Office File API是一個專為C#, VB.NET 和 ASP.NET等開發人員提供的非可視化.NET庫。有了這個庫,不用安裝Microsoft Office,就可以完全自動處理Excel、Word等文檔。開發人員使用一個非常易于操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CS…

Spring Security自定義登陸界面和密碼驗證邏輯

maven依賴 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId> </dependency> 創建配置文件處理跳轉攔截等功能以及密碼比對功能 package com.example.demo2.demos.web1;…

Shell 變量

Shell 變量 定義變量時&#xff0c;變量名不加美元符號&#xff08;$&#xff0c;PHP語言中變量需要&#xff09;&#xff0c;如&#xff1a; your_name"runoob.com" 注意&#xff0c;變量名和等號之間不能有空格&#xff0c;這可能和你熟悉的所有編程語言都不一樣…

python如何實現1ms內觸發兩個接口請求

在Python中&#xff0c;可以通過多線程或者協程來實現1ms內觸發兩個接口請求。以下是兩種方法的示例代碼&#xff1a; 1.多線程實現&#xff1a; import threading import requestsdef send_request(url):response requests.get(url)print(response.text)# 創建兩個線程&…

nginx一般輪詢、加權輪詢、ip_hash等負載均衡模式配置介紹

一.負載均衡含義簡介 二.nginx負載均衡配置方式 準備三臺設備&#xff1a; 2.190均衡服務器&#xff0c;2.191web服務器1&#xff0c;2.160web服務器2&#xff0c;三臺設備均安裝nginx&#xff0c;兩臺web服務器均有網頁內容 1.一般輪詢負載均衡 &#xff08;1&#xff09…

ARTS 挑戰打卡的第9天 --- 如何知道一個數是否為2的若干次冪(Algorithm)

前言 &#xff08;1&#xff09;今天看到一個有意思的問題&#xff0c;如何判斷一個數字是否為2的若干次冪。這個問題并不難&#xff0c;但是對于我們的C語言功底還是有一點點的考驗的。 &#xff08;2&#xff09;希望各位可以先自行思考&#xff0c;實在想不出來再看后面的講…

【es6】具名組匹配

1、組匹配 正則表達式使用圓括號進行組匹配&#xff0c;如&#xff1a;const RE_DATE /(\d{4})-(\d{2})-(\d{2})/;,三個圓括號形成了三個組匹配。 代碼&#xff1a; const RE_DATE /(\d{4})-(\d{2})-(\d{2})/;const matchObj RE_DATE.exec(1999-12-31); const year matchO…

rabbitmq的消息應答

消費者完成一個任務可能需要一段時間&#xff0c;如果其中一個消費者處理一個長的任務并僅只完成 了部分突然它掛掉了&#xff0c;會發生什么情況。RabbitMQ 一旦向消費者傳遞了一條消息&#xff0c;便立即將該消 息標記為刪除。在這種情況下&#xff0c;突然有個消費者掛掉了…

數據分析兩件套ClickHouse+Metabase(一)

ClickHouse篇 安裝ClickHouse ClickHouse有中文文檔, 安裝簡單 -> 文檔 官方提供了四種包的安裝方式, deb/rpm/tgz/docker, 自行選擇適合自己操作系統的安裝方式 這里我們選deb的方式, 其他方式看文檔 sudo apt-get install -y apt-transport-https ca-certificates dirm…

魔改 axuanup 的 aardio和python 猜拳游戲 代碼

根據 axuanup 的 aardio和python 猜拳游戲 代碼&#xff0c;魔改了一個風格不一樣的代碼。 爭取做到代碼盡量“簡”&#xff0c;但還沒到“變態簡”的程度&#xff0c;因為還能看懂。 原文&#xff1a;aardio和python 猜拳游戲-自由交流樂園-Aardio資源網 代碼如下&#xff…

【Flutter】【基礎】CustomPaint 繪畫功能(一)

功能&#xff1a;CustomPaint 相當于在一個畫布上面畫畫&#xff0c;可以自己繪制不同的顏色形狀等 在各種widget 或者是插件不能滿足到需求的時候&#xff0c;可以自己定義一些形狀 使用實例和代碼&#xff1a; CustomPaint&#xff1a; 能使你繪制的東西顯示在你的ui 上面&a…

競賽項目 酒店評價的情感傾向分析

前言 &#x1f525; 優質競賽項目系列&#xff0c;今天要分享的是 酒店評價的情感傾向分析 該項目較為新穎&#xff0c;適合作為競賽課題方向&#xff0c;學長非常推薦&#xff01; &#x1f9ff; 更多資料, 項目分享&#xff1a; https://gitee.com/dancheng-senior/post…

解決QTabelView無法立即刷新問題

解決QTabelView無法理解刷新問題 在某些時候&#xff0c;Qt的奇葩現象&#xff0c;調試中QTabelView的相關model數據變更了&#xff0c;界面卻沒立即刷新&#xff0c;然而&#xff0c;點擊標題欄等才刷新&#xff0c;奇葩。很多網上資料說QTabelView::update()和QTabelView::r…

用Python做一個滑雪小游戲

游戲是讓人娛樂和放松的好方式&#xff0c;而編寫和玩自己的游戲則是一種特別有趣的體驗。在本文中&#xff0c;我們將使用Python和pygame庫來創建一個簡單的滑雪小游戲。通過這個小游戲項目&#xff0c;我們將學習如何使用Python編程語言來制作自己的游戲&#xff0c;并且享受…

IT運維:使用數據分析平臺監控深信服防火墻

概述 深信服防火墻自身監控可以滿足絕大部分需求&#xff0c;比如哪個應用占了最大帶寬&#xff0c;哪個用戶訪問了哪些網站&#xff1f;這里我們為什么使用鴻鵠呢&#xff1f;因為我們要的是數據的處理和分析&#xff0c;比如某個用戶在某個事件都做了哪些行為&#xff0c;這個…

【設計模式】前端控制器模式

前端控制器模式&#xff08;Front Controller Pattern&#xff09;是用來提供一個集中的請求處理機制&#xff0c;所有的請求都將由一個單一的處理程序處理。該處理程序可以做認證/授權/記錄日志&#xff0c;或者跟蹤請求&#xff0c;然后把請求傳給相應的處理程序。以下是這種…

基于鯤鵬平臺Ceph深度性能調優

劉亮奇 架構師技術聯盟 2021-04-12 07:50 摘自&#xff1a; https://mp.weixin.qq.com/s/o9HH-8TF0DbMqHrvsFh1NA 隨著 IOT、大數據、移動互聯等應用的暴漲&#xff0c;產生的數據也越來越多&#xff0c;整個存儲市場總量也逐年增長&#xff0c;預計到 2021 年分布式存儲會占到…