




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
項目七市場分析工程實踐案例《大數(shù)據(jù)技術應用基礎》模塊一
市場數(shù)據(jù)采集與預處理核心目標職業(yè)能力1.運用網(wǎng)絡爬蟲采集數(shù)據(jù),并對臟數(shù)據(jù)進行清洗;2.能對數(shù)據(jù)進行統(tǒng)計分析與可視化分析;3.了解相關模型的建立與求解;4.獨立完成數(shù)據(jù)分析報告。職業(yè)素養(yǎng)1.養(yǎng)成敏銳洞察數(shù)據(jù)與處理數(shù)據(jù)的能力;2.養(yǎng)成數(shù)據(jù)分析思維,用數(shù)據(jù)客觀看待市場,把握市場方向。知識圖譜項目背景小張平時喜歡飲茶,經(jīng)常聯(lián)想到目前的茶葉市場規(guī)模,經(jīng)過Python的初步學習后,計劃做一期市場分析為自己解惑,于是在市場中選取了上市茶企業(yè)A公司作為研究對象,對相關數(shù)據(jù)進行采集、分析與建模,通過所學知識對市場現(xiàn)狀進行分析并對市場前景進行合理預測。01采集市場數(shù)據(jù)02數(shù)據(jù)預處理問題引入選取合適的數(shù)據(jù)網(wǎng)站采集A公司的財務指標,并對數(shù)據(jù)進行預處理,用于后續(xù)更加深入的分析挖掘等。通過查找資料,小張確定了合適的網(wǎng)站,準備利用已學的網(wǎng)絡爬蟲技術進行數(shù)據(jù)抓取,并利用Python第三方庫pandas、numpy對數(shù)據(jù)進行初步清洗。之后,小張又通過年報與查找資料,獲取A公司2018年的財務數(shù)據(jù)與2018年~2022年的銷量數(shù)據(jù),通過讀取Excel數(shù)據(jù)與初步清洗數(shù)據(jù)進行合并預處理。認知實踐項目所使用數(shù)據(jù)均來自網(wǎng)絡爬蟲與所提供的數(shù)據(jù)文檔,如圖7-1所示。A企業(yè)經(jīng)營情況數(shù)據(jù)集為爬蟲所爬取的目標頁面,通過requests進行訪問,xpath方式進行解析,鏈接為:33:8082/fstmicd/index.aspx?pintkey=ODI=,數(shù)據(jù)情況如圖7-2所示。圖7-1平臺數(shù)據(jù)圖7-2爬蟲網(wǎng)頁一、數(shù)據(jù)源認知實踐A企業(yè)2018年財務數(shù)據(jù)、A企業(yè)2018-2022年銷量數(shù)據(jù)則均為excel文件,通過讀取后直接使用,數(shù)據(jù)如圖7-3、7-4所示。圖7-32018年財務數(shù)據(jù)(節(jié)選)圖7-42018~2022年銷量數(shù)據(jù)一、數(shù)據(jù)源認知實踐請求頭由關鍵字/值對組成,每行一對,關鍵字和值用英文冒號“:”分隔,請求頭通知服務器有關于客戶端請求的信息,典型的請求頭有:二、Http請求頭爬蟲中請求頭的作用:在網(wǎng)站使用反爬機制之后,可以在程序中添加請求頭來實現(xiàn)反反爬,達到偽裝成瀏覽器的目的,從而實現(xiàn)反反爬機制。產(chǎn)生請求的瀏覽器類型;User-AgentAcceptHost客戶端可識別的內(nèi)容類型列表;請求的主機名,允許多個域名同處一個IP地址,即虛擬主機。認知實踐以需要爬取的網(wǎng)頁為例,通過查看頁面源代碼(快捷鍵F12),點擊選項卡中“網(wǎng)絡選項”,找到對應選項,根據(jù)需要的請求頭數(shù)據(jù)進行復制。二、Http請求頭圖7-5網(wǎng)頁請求頭采集市場數(shù)據(jù)01一、采集市場數(shù)據(jù)(一)導入第三方庫提前安裝好第三方庫,在數(shù)據(jù)采集前進行導入。importrequestsfromlxmlimportetreeimportpandasaspd代碼7-1-1一、采集市場數(shù)據(jù)(二)數(shù)據(jù)抓取設置請求頭,訪問需要采集數(shù)據(jù)的網(wǎng)頁進行數(shù)據(jù)抓取。#輸入網(wǎng)址與請求頭并訪問url='33:8082/fstmicd/index.aspx?pintkey=ODI='headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/Safari/537.36Edg/110.0.1587.57','Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7'}rsp=requests.get(url=url,headers=headers)#解析字符串格式的HTML文檔對象,將傳進去的字符串轉(zhuǎn)變成Element對象。tree=etree.HTML(rsp.text)#使用xpath方法進行解析tr_tags=tree.xpath('/html/body/form/div[3]/div[2]/div[2]/div[2]/div[3]/table/tr')#將需要抓取的數(shù)據(jù)進行解析并存入列表datalist=[]fortdintr_tags:t1=td.xpath('./th/text()')t2=td.xpath('./td/text()')datalist.append(t1)datalist.append(t2)代碼續(xù)7-1-1一、采集市場數(shù)據(jù)(三)數(shù)據(jù)存儲對采集的數(shù)據(jù)進行提取,在樣本缺失值處添加“年份”字樣,并儲存在csv中供后續(xù)使用,完成數(shù)據(jù)采集工作。#刪除所抓取數(shù)據(jù)中的空列表list_save=[dfordindatalistifd!=[]]#利用切片將類似‘2020年年報’字樣修改為‘2020年’i=0forlinlist_save[0]:list_save[0][i]=l[0:5]i+=1#插入‘年份’字樣,打印數(shù)據(jù)list_save[0].insert(0,'年份')#將采集的數(shù)據(jù)轉(zhuǎn)化為dataframe,并以第一個列表作為列名df=pd.DataFrame(list_save,columns=list_save[0])#存入csvdf.to_csv('C:/下載/原始數(shù)據(jù).csv')代碼續(xù)7-1-1一、采集市場數(shù)據(jù)(三)數(shù)據(jù)存儲輸出結果(如圖7-6所示)7-6爬蟲所得數(shù)據(jù)數(shù)據(jù)預處理02二、數(shù)據(jù)預處理(一)導入第三方庫importpandasaspdimportnumpyasnp代碼7-1-2二、數(shù)據(jù)預處理(二)成本數(shù)據(jù)預處理#讀取數(shù)據(jù)df=pd.read_csv('C:/下載/原始數(shù)據(jù).csv')#按行索引取特定行df0=df.iloc[[10,13,20,21,22,23,24]]#按列名取特定列(剔除第一列)df1=df0[['2022年','2021年','2020年','2019年']]#給行索引重命名df1.index=['營業(yè)成本(元)','研發(fā)費用(元)','營業(yè)稅金及附加(元)','銷售費用(元)','管理費用(元)','財務費用(元)','資產(chǎn)減值損失(元)']讀取已存儲的數(shù)據(jù)集,按索引及列名獲取新的數(shù)據(jù)集,同時重命名索引。代碼續(xù)7-1-2二、數(shù)據(jù)預處理(二)成本數(shù)據(jù)預處理#將字符串轉(zhuǎn)化為數(shù)值類型df1[['2022年','2021年','2020年','2019年']]=df1[['2022年','2021年','2020年','2019年']].apply(pd.to_numeric)#將所需數(shù)據(jù)轉(zhuǎn)化為整型并賦值給一個新的數(shù)據(jù)集df_cost=df1[['2022年','2021年','2020年','2019年']].astype('int')#讀取excel文件中的數(shù)據(jù)并將指定列數(shù)據(jù)轉(zhuǎn)化為列表df_2018=pd.read_excel('C:/下載/2018年A企業(yè)財報數(shù)據(jù)(節(jié)選).xlsx')data_2018=df_2018['金額(元)'].tolist()#用切片提取列表中所需數(shù)據(jù),插入到df_cost數(shù)據(jù)集合并data_cost_2018=data_2018[3:]df_cost.insert(loc=len(df_cost.columns),column='2018年',value=data_cost_2018)#存入csvdf_cost.to_csv('C:/下載/成本數(shù)據(jù).csv')由于采集的數(shù)據(jù)是字符串形式,所以需要數(shù)據(jù)類型,最后加入2018年數(shù)據(jù)合并代碼續(xù)7-1-2二、數(shù)據(jù)預處理(二)成本數(shù)據(jù)預處理輸出結果(如圖7-7所示)圖7-7成本數(shù)據(jù)集二、數(shù)據(jù)預處理(三)其他財務指標預處理取出數(shù)據(jù)集中需要的行與列,重命名索引與數(shù)據(jù)格式轉(zhuǎn)換。代碼續(xù)7-1-2#根據(jù)索引提取特定數(shù)據(jù),并重命名行索引df2=df.iloc[[2,9,21,32]][['2022年','2021年','2020年','2019年']]df2.index=['營業(yè)總收入(元)','營業(yè)總成本(元)','銷售費用(元)','營業(yè)利潤(元)']#數(shù)據(jù)類型轉(zhuǎn)換df2[['2022年','2021年','2020年','2019年']]=df2[['2022年','2021年','2020年','2019年']].apply(pd.to_numeric)df3=df2[['2022年','2021年','2020年','2019年']].astype('int')二、數(shù)據(jù)預處理(三)其他財務指標預處理加入2018年財務指標,并合并銷量數(shù)據(jù),形成最終的數(shù)據(jù)集。#提取2018年財務指標data_2018_else=[data_2018[0],data_2018[2],data_2018[6],data_2018[1]]#讀取近五年銷量數(shù)據(jù)表,指定列數(shù)據(jù)轉(zhuǎn)化為列表df_sale=pd.read_excel('C:/下載/2018-2022年銷量數(shù)據(jù)(按年份).xlsx')data_sale=df_sale['銷量(噸)'].tolist()#反轉(zhuǎn)數(shù)據(jù)列表data_sale.reverse()#合并財務數(shù)據(jù)df3.insert(loc=len(df3.columns),column='2018年',value=data_2018_else)#加入提取的銷量數(shù)據(jù)df4=pd.DataFrame(np.insert(df3.values,len(df3.index),values=data_sale,axis=0))#重命名索引df4.columns=df3.columnsdf4.index=['營業(yè)總收入(元)','營業(yè)總成本(元)','銷售費用(元)','營業(yè)利潤(元)','銷量(噸)']#轉(zhuǎn)置并存入csvdf_final=df4.Tdf_final.to_csv('C:/下載/財務數(shù)據(jù).csv')代碼續(xù)7-1-2二、數(shù)據(jù)預處理(三)其他財務指標預處理輸出結果(如圖7-8所示)圖7-8財務數(shù)據(jù)集探討實踐小張在讀取excel數(shù)據(jù)后,通過直接將數(shù)據(jù)插入原始數(shù)據(jù)集來合并數(shù)據(jù),通過思考與學習,他認為也可以直接通過合并數(shù)據(jù)集的方式來合并數(shù)據(jù),嘗試通過pd.merge()和pd.concat()方式進行數(shù)據(jù)合并形成需要的數(shù)據(jù)集。拓展訓練小張在編寫網(wǎng)絡爬蟲代碼時,通過xpath進行解析后進行數(shù)據(jù)爬取,返回的對象都是空列表,即爬取不到所需數(shù)據(jù)。他寫的代碼如下,請你指出運行結果總是返回空列表的原因,應如何改正?代碼importrequestsfromlxmlimportetree#輸入網(wǎng)址與請求頭并訪問url='33:8082/fstmicd/index.aspx?pintkey=ODI='headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/Safari/537.36Edg/110.0.1587.57','Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,applicati
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年單招考試英語模擬試題及答案(一)
- 2019年長江工程職業(yè)技術學院單獨招生考試文化綜合考試樣題及參考答案
- 順鉑的臨床應用
- 甘肅交通職業(yè)技術學院《芭蕾基訓》2023-2024學年第二學期期末試卷
- 安陽學院《諸子選講》2023-2024學年第二學期期末試卷
- 浙江育英職業(yè)技術學院《數(shù)據(jù)導入與預處理應用實驗》2023-2024學年第二學期期末試卷
- 預防慢性疾病主題班會
- 山東杏林科技職業(yè)學院《短視頻創(chuàng)作》2023-2024學年第一學期期末試卷
- 江蘇省鹽城市解放路實驗學校教育集團2025年數(shù)學三下期末質(zhì)量跟蹤監(jiān)視試題含解析
- 甘肅警察職業(yè)學院《影視美學》2023-2024學年第一學期期末試卷
- 國家基本公共衛(wèi)生服務項目培訓課件
- 《民法》全冊精講課件
- 國際象棋入門教學課件
- 食品公司電商部門組織架構
- 母線槽安裝檢驗批質(zhì)量驗收記錄
- 管道開挖施工方案修復
- 高速公路工程質(zhì)量管理體系及保證措施
- 菠菜色素提取和分離
- 中鐵工程項目內(nèi)部控制管理手冊(492頁)
- 氣瓶充裝安全及培訓課件PPT幻燈片
- 防雷檢測專業(yè)技術人員能力認定考試題庫完整
評論
0/150
提交評論