




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目七市場(chǎng)分析工程實(shí)踐案例《大數(shù)據(jù)技術(shù)應(yīng)用基礎(chǔ)》模塊一
市場(chǎng)數(shù)據(jù)采集與預(yù)處理核心目標(biāo)職業(yè)能力1.運(yùn)用網(wǎng)絡(luò)爬蟲采集數(shù)據(jù),并對(duì)臟數(shù)據(jù)進(jìn)行清洗;2.能對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析與可視化分析;3.了解相關(guān)模型的建立與求解;4.獨(dú)立完成數(shù)據(jù)分析報(bào)告。職業(yè)素養(yǎng)1.養(yǎng)成敏銳洞察數(shù)據(jù)與處理數(shù)據(jù)的能力;2.養(yǎng)成數(shù)據(jù)分析思維,用數(shù)據(jù)客觀看待市場(chǎng),把握市場(chǎng)方向。知識(shí)圖譜項(xiàng)目背景小張平時(shí)喜歡飲茶,經(jīng)常聯(lián)想到目前的茶葉市場(chǎng)規(guī)模,經(jīng)過(guò)Python的初步學(xué)習(xí)后,計(jì)劃做一期市場(chǎng)分析為自己解惑,于是在市場(chǎng)中選取了上市茶企業(yè)A公司作為研究對(duì)象,對(duì)相關(guān)數(shù)據(jù)進(jìn)行采集、分析與建模,通過(guò)所學(xué)知識(shí)對(duì)市場(chǎng)現(xiàn)狀進(jìn)行分析并對(duì)市場(chǎng)前景進(jìn)行合理預(yù)測(cè)。01采集市場(chǎng)數(shù)據(jù)02數(shù)據(jù)預(yù)處理問(wèn)題引入選取合適的數(shù)據(jù)網(wǎng)站采集A公司的財(cái)務(wù)指標(biāo),并對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,用于后續(xù)更加深入的分析挖掘等。通過(guò)查找資料,小張確定了合適的網(wǎng)站,準(zhǔn)備利用已學(xué)的網(wǎng)絡(luò)爬蟲技術(shù)進(jìn)行數(shù)據(jù)抓取,并利用Python第三方庫(kù)pandas、numpy對(duì)數(shù)據(jù)進(jìn)行初步清洗。之后,小張又通過(guò)年報(bào)與查找資料,獲取A公司2018年的財(cái)務(wù)數(shù)據(jù)與2018年~2022年的銷量數(shù)據(jù),通過(guò)讀取Excel數(shù)據(jù)與初步清洗數(shù)據(jù)進(jìn)行合并預(yù)處理。認(rèn)知實(shí)踐項(xiàng)目所使用數(shù)據(jù)均來(lái)自網(wǎng)絡(luò)爬蟲與所提供的數(shù)據(jù)文檔,如圖7-1所示。A企業(yè)經(jīng)營(yíng)情況數(shù)據(jù)集為爬蟲所爬取的目標(biāo)頁(yè)面,通過(guò)requests進(jìn)行訪問(wèn),xpath方式進(jìn)行解析,鏈接為:33:8082/fstmicd/index.aspx?pintkey=ODI=,數(shù)據(jù)情況如圖7-2所示。圖7-1平臺(tái)數(shù)據(jù)圖7-2爬蟲網(wǎng)頁(yè)一、數(shù)據(jù)源認(rèn)知實(shí)踐A企業(yè)2018年財(cái)務(wù)數(shù)據(jù)、A企業(yè)2018-2022年銷量數(shù)據(jù)則均為excel文件,通過(guò)讀取后直接使用,數(shù)據(jù)如圖7-3、7-4所示。圖7-32018年財(cái)務(wù)數(shù)據(jù)(節(jié)選)圖7-42018~2022年銷量數(shù)據(jù)一、數(shù)據(jù)源認(rèn)知實(shí)踐請(qǐng)求頭由關(guān)鍵字/值對(duì)組成,每行一對(duì),關(guān)鍵字和值用英文冒號(hào)“:”分隔,請(qǐng)求頭通知服務(wù)器有關(guān)于客戶端請(qǐng)求的信息,典型的請(qǐng)求頭有:二、Http請(qǐng)求頭爬蟲中請(qǐng)求頭的作用:在網(wǎng)站使用反爬機(jī)制之后,可以在程序中添加請(qǐng)求頭來(lái)實(shí)現(xiàn)反反爬,達(dá)到偽裝成瀏覽器的目的,從而實(shí)現(xiàn)反反爬機(jī)制。產(chǎn)生請(qǐng)求的瀏覽器類型;User-AgentAcceptHost客戶端可識(shí)別的內(nèi)容類型列表;請(qǐng)求的主機(jī)名,允許多個(gè)域名同處一個(gè)IP地址,即虛擬主機(jī)。認(rèn)知實(shí)踐以需要爬取的網(wǎng)頁(yè)為例,通過(guò)查看頁(yè)面源代碼(快捷鍵F12),點(diǎn)擊選項(xiàng)卡中“網(wǎng)絡(luò)選項(xiàng)”,找到對(duì)應(yīng)選項(xiàng),根據(jù)需要的請(qǐng)求頭數(shù)據(jù)進(jìn)行復(fù)制。二、Http請(qǐng)求頭圖7-5網(wǎng)頁(yè)請(qǐng)求頭采集市場(chǎng)數(shù)據(jù)01一、采集市場(chǎng)數(shù)據(jù)(一)導(dǎo)入第三方庫(kù)提前安裝好第三方庫(kù),在數(shù)據(jù)采集前進(jìn)行導(dǎo)入。importrequestsfromlxmlimportetreeimportpandasaspd代碼7-1-1一、采集市場(chǎng)數(shù)據(jù)(二)數(shù)據(jù)抓取設(shè)置請(qǐng)求頭,訪問(wèn)需要采集數(shù)據(jù)的網(wǎng)頁(yè)進(jìn)行數(shù)據(jù)抓取。#輸入網(wǎng)址與請(qǐng)求頭并訪問(wèn)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文檔對(duì)象,將傳進(jìn)去的字符串轉(zhuǎn)變成Element對(duì)象。tree=etree.HTML(rsp.text)#使用xpath方法進(jìn)行解析tr_tags=tree.xpath('/html/body/form/div[3]/div[2]/div[2]/div[2]/div[3]/table/tr')#將需要抓取的數(shù)據(jù)進(jìn)行解析并存入列表datalist=[]fortdintr_tags:t1=td.xpath('./th/text()')t2=td.xpath('./td/text()')datalist.append(t1)datalist.append(t2)代碼續(xù)7-1-1一、采集市場(chǎng)數(shù)據(jù)(三)數(shù)據(jù)存儲(chǔ)對(duì)采集的數(shù)據(jù)進(jìn)行提取,在樣本缺失值處添加“年份”字樣,并儲(chǔ)存在csv中供后續(xù)使用,完成數(shù)據(jù)采集工作。#刪除所抓取數(shù)據(jù)中的空列表list_save=[dfordindatalistifd!=[]]#利用切片將類似‘2020年年報(bào)’字樣修改為‘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,并以第一個(gè)列表作為列名df=pd.DataFrame(list_save,columns=list_save[0])#存入csvdf.to_csv('C:/下載/原始數(shù)據(jù).csv')代碼續(xù)7-1-1一、采集市場(chǎng)數(shù)據(jù)(三)數(shù)據(jù)存儲(chǔ)輸出結(jié)果(如圖7-6所示)7-6爬蟲所得數(shù)據(jù)數(shù)據(jù)預(yù)處理02二、數(shù)據(jù)預(yù)處理(一)導(dǎo)入第三方庫(kù)importpandasaspdimportnumpyasnp代碼7-1-2二、數(shù)據(jù)預(yù)處理(二)成本數(shù)據(jù)預(yù)處理#讀取數(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íng)業(yè)成本(元)','研發(fā)費(fèi)用(元)','營(yíng)業(yè)稅金及附加(元)','銷售費(fèi)用(元)','管理費(fèi)用(元)','財(cái)務(wù)費(fèi)用(元)','資產(chǎn)減值損失(元)']讀取已存儲(chǔ)的數(shù)據(jù)集,按索引及列名獲取新的數(shù)據(jù)集,同時(shí)重命名索引。代碼續(xù)7-1-2二、數(shù)據(jù)預(yù)處理(二)成本數(shù)據(jù)預(yù)處理#將字符串轉(zhuǎn)化為數(shù)值類型df1[['2022年','2021年','2020年','2019年']]=df1[['2022年','2021年','2020年','2019年']].apply(pd.to_numeric)#將所需數(shù)據(jù)轉(zhuǎn)化為整型并賦值給一個(gè)新的數(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è)財(cái)報(bào)數(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ù)預(yù)處理(二)成本數(shù)據(jù)預(yù)處理輸出結(jié)果(如圖7-7所示)圖7-7成本數(shù)據(jù)集二、數(shù)據(jù)預(yù)處理(三)其他財(cái)務(wù)指標(biāo)預(yù)處理取出數(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íng)業(yè)總收入(元)','營(yíng)業(yè)總成本(元)','銷售費(fèi)用(元)','營(yíng)業(yè)利潤(rùn)(元)']#數(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ù)預(yù)處理(三)其他財(cái)務(wù)指標(biāo)預(yù)處理加入2018年財(cái)務(wù)指標(biāo),并合并銷量數(shù)據(jù),形成最終的數(shù)據(jù)集。#提取2018年財(cái)務(wù)指標(biāo)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()#合并財(cái)務(wù)數(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íng)業(yè)總收入(元)','營(yíng)業(yè)總成本(元)','銷售費(fèi)用(元)','營(yíng)業(yè)利潤(rùn)(元)','銷量(噸)']#轉(zhuǎn)置并存入csvdf_final=df4.Tdf_final.to_csv('C:/下載/財(cái)務(wù)數(shù)據(jù).csv')代碼續(xù)7-1-2二、數(shù)據(jù)預(yù)處理(三)其他財(cái)務(wù)指標(biāo)預(yù)處理輸出結(jié)果(如圖7-8所示)圖7-8財(cái)務(wù)數(shù)據(jù)集探討實(shí)踐小張?jiān)谧x取excel數(shù)據(jù)后,通過(guò)直接將數(shù)據(jù)插入原始數(shù)據(jù)集來(lái)合并數(shù)據(jù),通過(guò)思考與學(xué)習(xí),他認(rèn)為也可以直接通過(guò)合并數(shù)據(jù)集的方式來(lái)合并數(shù)據(jù),嘗試通過(guò)pd.merge()和pd.concat()方式進(jìn)行數(shù)據(jù)合并形成需要的數(shù)據(jù)集。拓展訓(xùn)練小張?jiān)诰帉懢W(wǎng)絡(luò)爬蟲代碼時(shí),通過(guò)xpath進(jìn)行解析后進(jìn)行數(shù)據(jù)爬取,返回的對(duì)象都是空列表,即爬取不到所需數(shù)據(jù)。他寫的代碼如下,請(qǐng)你指出運(yùn)行結(jié)果總是返回空列表的原因,應(yīng)如何改正?代碼importrequestsfromlxmlimportetree#輸入網(wǎng)址與請(qǐng)求頭并訪問(wèn)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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司消防宣傳片策劃方案
- 公司新客戶展示活動(dòng)方案
- 公司聯(lián)誼團(tuán)建策劃方案
- 公司消防大比拼活動(dòng)方案
- 2025年卓越領(lǐng)導(dǎo)力與團(tuán)隊(duì)管理考試試題及答案
- 2025年信息安全技術(shù)考試試卷及答案
- 2025年文案策劃師職業(yè)資格考試試題及答案
- 中班健康飲食教育活動(dòng)方案
- 客戶服務(wù)心態(tài)培訓(xùn)
- 醫(yī)院收費(fèi)全流程管理規(guī)范
- GB/T 16940-2012滾動(dòng)軸承套筒型直線球軸承外形尺寸和公差
- GB/T 15814.1-1995煙花爆竹藥劑成分定性測(cè)定
- 煤礦安全規(guī)程露天部分參考題庫(kù)(含答案)
- 紫銅材質(zhì)證明
- 新產(chǎn)品評(píng)審管理辦法
- (參考)菲達(dá)公司國(guó)內(nèi)電除塵器業(yè)績(jī)表
- 游泳池水質(zhì)檢測(cè)記錄表
- 大學(xué)生職業(yè)生涯規(guī)劃與就業(yè)指導(dǎo)教案第5講:興趣探索
- 門店電表記錄表
- 七年級(jí)勞技 花卉種植 花卉用途 PPT學(xué)習(xí)教案
- 隧道換拱專項(xiàng)施工方案
評(píng)論
0/150
提交評(píng)論