版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Python與財(cái)經(jīng)大數(shù)據(jù)分析基礎(chǔ)第1章——數(shù)據(jù)創(chuàng)建
CONTENTS目錄1.1數(shù)據(jù)分析模塊介紹1.2DataFrame簡(jiǎn)介1.3DataFrame數(shù)據(jù)創(chuàng)建1.4讀取本地存儲(chǔ)的數(shù)據(jù)1.5實(shí)操練習(xí)題1.1數(shù)據(jù)分析模塊介紹1.1數(shù)據(jù)分析模塊介紹數(shù)據(jù),是一切分析的基礎(chǔ),科學(xué)地創(chuàng)建、整理數(shù)據(jù),是得到可靠分析結(jié)果的重要前提。為了更好地進(jìn)行數(shù)據(jù)分析,我們首先需要構(gòu)建自己的數(shù)據(jù)集或數(shù)據(jù)庫(kù)。在數(shù)據(jù)創(chuàng)建時(shí),我們可以構(gòu)建虛擬數(shù)據(jù),也可以讀取現(xiàn)有數(shù)據(jù)公司提供的數(shù)據(jù),也可以利用網(wǎng)絡(luò)爬蟲(chóng)爬取網(wǎng)上一些特色數(shù)據(jù)。通過(guò)Python的數(shù)據(jù)創(chuàng)建功能,可以實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ),方便后續(xù)的調(diào)用、清洗、運(yùn)行、計(jì)算和分析。1.1數(shù)據(jù)分析模塊介紹由于爬蟲(chóng)技術(shù)在后續(xù)章節(jié)會(huì)有介紹,所以本章主要介紹通過(guò)DataFrame自行創(chuàng)建,或通過(guò)讀取結(jié)構(gòu)化數(shù)據(jù)創(chuàng)建兩種方式。1.2DataFrame簡(jiǎn)介1.2DataFrame簡(jiǎn)介在Python中,DataFrame是一種表格型數(shù)據(jù)結(jié)構(gòu),類(lèi)似Excel,是Pandas中非常重要的結(jié)構(gòu)化數(shù)據(jù)容器。通過(guò)DataFrame,數(shù)據(jù)分析過(guò)程中的繁瑣操作在很大程度上簡(jiǎn)化了。DataFrame既有行索引,也有列索引,是二維數(shù)據(jù)結(jié)構(gòu),即數(shù)據(jù)以行和列的表格方式排列。DataFrame也被看做是一系列Series組成的字典。如圖所示,DataFrame由index、columns及data構(gòu)成。1.3DataFrame數(shù)據(jù)創(chuàng)建1.3DataFrame數(shù)據(jù)創(chuàng)建在進(jìn)行數(shù)據(jù)創(chuàng)建時(shí),可以借助Pandas模塊中的DataFrame()函數(shù)。該函數(shù)的具體語(yǔ)法如下所示:1.3DataFrame數(shù)據(jù)創(chuàng)建(1)通過(guò)列表(list)創(chuàng)建當(dāng)數(shù)據(jù)為列表(list)類(lèi)型時(shí),為方便后期分析與運(yùn)算,通常會(huì)將列表(list)轉(zhuǎn)變?yōu)镈ataFrame進(jìn)行操作,同時(shí)可以定義index和columns的值。當(dāng)由多個(gè)列表中創(chuàng)建DataFrame時(shí),需要使用zip()函數(shù)。zip()函數(shù)返回一個(gè)zip類(lèi)型的對(duì)象,將多個(gè)列表的相同位置的元素配對(duì)在一起,每個(gè)列表形成DataFrame不同的列。1.3DataFrame數(shù)據(jù)創(chuàng)建(2)通過(guò)數(shù)組(array)創(chuàng)建我們可以通過(guò)Pandas.DataFrame()函數(shù)將生成的數(shù)組轉(zhuǎn)換成一個(gè)標(biāo)準(zhǔn)的DataFrame。為了更方便讀取數(shù)據(jù),我們可以分別定義index和columns的值。1.3DataFrame數(shù)據(jù)創(chuàng)建(3)通過(guò)字典(dict)創(chuàng)建作為一種可變?nèi)萜髂P?,字典(Dictionary)可存儲(chǔ)任意類(lèi)型對(duì)象。當(dāng)錄入數(shù)據(jù)為字典(dict)類(lèi)型時(shí),通過(guò)Pandas.DataFrame()函數(shù),可以很方便的將字典轉(zhuǎn)變?yōu)镈ataFrame。其中,字典的Key對(duì)應(yīng)DataFrame中column值,字典中每一對(duì)數(shù)據(jù)會(huì)形成一個(gè)Series,這些Series匯總到一起就是DataFrame中的columns。此外,在使用Pandas.DataFrame()函數(shù)對(duì)字典數(shù)據(jù)進(jìn)行轉(zhuǎn)換時(shí),可以單獨(dú)定義index參數(shù)。1.3DataFrame數(shù)據(jù)創(chuàng)建(4)通過(guò)序列Series創(chuàng)建 Series是Pandas庫(kù)中一種基本的數(shù)據(jù)結(jié)構(gòu),屬于一維數(shù)據(jù)形式,可以理解為n行2列的簡(jiǎn)單數(shù)據(jù)表格,第一列是索引(index),第二列是值(values)。作為二維數(shù)據(jù)結(jié)構(gòu)的DataFrame可以拆分為一系列Series,同時(shí)一系列Series可以組合成DataFrame?;诖?,DataFrame可以通過(guò)Series來(lái)創(chuàng)建。其中,index為Series的標(biāo)簽,columns對(duì)應(yīng)各個(gè)Series。當(dāng)遇到Series長(zhǎng)度不同的情況時(shí),缺失數(shù)據(jù)會(huì)顯示為NaN。相比于用list創(chuàng)建DataFrame,用Series創(chuàng)建可以實(shí)現(xiàn)自動(dòng)對(duì)齊。1.3DataFrame數(shù)據(jù)創(chuàng)建(5)時(shí)間序列數(shù)據(jù)創(chuàng)建有時(shí)候我們需要構(gòu)建一個(gè)時(shí)間序列,模擬一些數(shù)據(jù)。Pandas.date_range()函數(shù)為我們創(chuàng)建時(shí)間序列提供了便利,通過(guò)該函數(shù),我們很方便的可以生成一個(gè)固定頻率的時(shí)間序列。然后,再結(jié)合其他數(shù)據(jù),通過(guò)pandas.DataFrame()函數(shù)創(chuàng)建一個(gè)虛擬時(shí)間序列數(shù)據(jù)。1.3DataFrame數(shù)據(jù)創(chuàng)建Pandas.date_range()函數(shù)的具體語(yǔ)法如下所示:1.4讀取本地存儲(chǔ)的數(shù)據(jù)1.4讀取本地存儲(chǔ)的數(shù)據(jù)對(duì)于數(shù)據(jù)分析而言,獲取和利用第三方數(shù)據(jù)是比較有效的方式。目前,市場(chǎng)上有很多專(zhuān)注于數(shù)據(jù)生產(chǎn)的第三方公司,如國(guó)泰安(CSMAR)和萬(wàn)得資訊(Wind)等。這些公司專(zhuān)注于數(shù)據(jù)源的工作,提供數(shù)據(jù)產(chǎn)品給使用者。這些數(shù)據(jù)大部分是結(jié)構(gòu)化數(shù)據(jù)。例如,上市公司年報(bào)信息、重要的公司治理數(shù)據(jù)、環(huán)境數(shù)據(jù)、宏微觀經(jīng)濟(jì)數(shù)據(jù)、重大事件數(shù)據(jù)和市場(chǎng)交易數(shù)據(jù)等等。通過(guò)對(duì)這些結(jié)構(gòu)化數(shù)據(jù)的讀取和處理,Python可以高效的輔助我們進(jìn)行數(shù)據(jù)分析、可視化或數(shù)據(jù)挖掘。本小節(jié)將從單個(gè)文件讀取與批量文件讀取兩個(gè)角度,分別介紹csv文件、txt文件與Excel文件的讀取方法。1.4讀取本地存儲(chǔ)的數(shù)據(jù)(1)單個(gè)文件讀取A.讀取文本文件在現(xiàn)有第三方數(shù)據(jù)庫(kù)中,很多數(shù)據(jù)被存儲(chǔ)在文本文件(csv文件、txt文件)中。這是因?yàn)槲谋疚募梢詢(xún)?chǔ)存較大樣本量的數(shù)據(jù),與其他存儲(chǔ)形式相比能夠節(jié)省大量的儲(chǔ)存空間。Pandas.read_csv()是專(zhuān)門(mén)讀取csv文件、txt文件的函數(shù)。該函數(shù)的具體語(yǔ)法如下所示:1.4讀取本地存儲(chǔ)的數(shù)據(jù)1.4讀取本地存儲(chǔ)的數(shù)據(jù)B.讀取表格文件現(xiàn)實(shí)中,很多財(cái)經(jīng)數(shù)據(jù)會(huì)以Excel的形式存儲(chǔ)。在Python中,可以通過(guò)Pandas.read_excel()函數(shù)導(dǎo)入已有Excel文件。該函數(shù)的具體語(yǔ)法如下所示:1.4讀取本地存儲(chǔ)的數(shù)據(jù)1.4讀取本地存儲(chǔ)的數(shù)據(jù)(2)批量文件讀取在對(duì)資本市場(chǎng)進(jìn)行分析的過(guò)程中,往往需要依靠較長(zhǎng)時(shí)間跨度的數(shù)據(jù)資料作為支撐。由于單個(gè)csv和Excel文件儲(chǔ)存的數(shù)據(jù)有限,而資本市場(chǎng)交易數(shù)據(jù)量又很大,在數(shù)據(jù)分析過(guò)程中,我們經(jīng)常遇到的是,一個(gè)大的數(shù)據(jù)文件被分割成若干文件,在讀取的時(shí)候需要對(duì)這些文件進(jìn)行批處理,形成一個(gè)整體的文件。1.4讀取本地存儲(chǔ)的數(shù)據(jù)首先,利用for循環(huán),獲取所需讀取全部文件名稱(chēng)的列表1.4讀取本地存儲(chǔ)的數(shù)據(jù)在獲得文件名稱(chēng)的列表后,可以根據(jù)文件名稱(chēng)和文件路徑構(gòu)建文件的絕對(duì)路徑,再按照文件絕對(duì)路徑對(duì)每個(gè)文件進(jìn)行數(shù)據(jù)讀取,具體操作中有以下兩種方法:1.4讀取本地存儲(chǔ)的數(shù)據(jù)方法一:生成一個(gè)空DataFrame,通過(guò)read_csv()(或read_excel)和append()函數(shù)對(duì)所有數(shù)據(jù)進(jìn)行讀取,存入DataFrame中。1.4讀取本地存儲(chǔ)的數(shù)據(jù)方法二:
生成一個(gè)空l(shuí)ist,通過(guò)read_csv()(或read_excel)和append()函數(shù)對(duì)所有數(shù)據(jù)進(jìn)行讀取,存入list中,通過(guò)concat()函數(shù)整合數(shù)據(jù),存入DataFrame中。1.4讀取本地存儲(chǔ)的數(shù)據(jù)append()函數(shù)與concat()函數(shù)常用于數(shù)據(jù)合并,兩種方法進(jìn)行數(shù)據(jù)批量讀取的結(jié)果完全一致,但第二種方式只進(jìn)行一次DateFrame合并,因此運(yùn)行速度相對(duì)較快。1.5實(shí)操練習(xí)題1.5實(shí)操練習(xí)題從CSMAR數(shù)據(jù)庫(kù)中下載Excel2003格式的1990-2022年資產(chǎn)負(fù)債表、利潤(rùn)表、現(xiàn)金流量表所有科目的數(shù)據(jù),對(duì)這些文件進(jìn)行批量讀取,分別形成資產(chǎn)負(fù)債表、利潤(rùn)表、現(xiàn)金流量表數(shù)據(jù)。Python與財(cái)經(jīng)大數(shù)據(jù)分析基礎(chǔ)第2章——數(shù)據(jù)查看
CONTENTS目錄2.1DataFrame數(shù)據(jù)屬性2.2DataFrame數(shù)據(jù)查看2.3實(shí)操練習(xí)題2.1DataFrame數(shù)據(jù)屬性2.1DataFrame數(shù)據(jù)屬性在進(jìn)行數(shù)據(jù)分析過(guò)程中,我們首先需要對(duì)數(shù)據(jù)有個(gè)大致了解,例如數(shù)據(jù)的基本屬性、基本分布和描述性統(tǒng)計(jì)特征。本部分主要結(jié)合DataFrame數(shù)據(jù)結(jié)構(gòu)特征,詳細(xì)介紹數(shù)據(jù)查看中的一些基本函數(shù)。2.1DataFrame數(shù)據(jù)屬性(1)DataFrame的基本屬性index、columns和values是DataFrame數(shù)據(jù)的三大基本屬性,分別指代DataFrame中的行索引、列索引和數(shù)據(jù)值。index屬性?xún)?chǔ)存DataFrame的行名和數(shù)據(jù)類(lèi)型等信息。columns屬性?xún)?chǔ)存DataFrame的列名和數(shù)據(jù)類(lèi)型等信息。Values可以以每行為一個(gè)數(shù)組的形式儲(chǔ)存全部values二維數(shù)組。
Data
IndexColumnsAxis=1
Axis=0
2.1DataFrame數(shù)據(jù)屬性(2)DataFrame結(jié)構(gòu)屬性在數(shù)據(jù)分析過(guò)程中,了解數(shù)據(jù)的大小和基本結(jié)構(gòu)等是后續(xù)數(shù)據(jù)分析的重要基礎(chǔ)。例如,在數(shù)據(jù)迭代過(guò)程中,可能會(huì)需要數(shù)據(jù)的觀測(cè)數(shù)、行數(shù)或列數(shù)等。查看數(shù)據(jù)涉及到的函數(shù)包括shape()函數(shù)和size()函數(shù)。
shape()函數(shù)shape()函數(shù)可輸出數(shù)組或矩陣的維度,輸出結(jié)果以元組的形式表示DataFrame的行、列數(shù),即(行,列)。再通過(guò)元組的數(shù)據(jù)提取,例如shape[0]和shape[1]分別可以獲得行和列的長(zhǎng)度,很方便的實(shí)現(xiàn)行數(shù)和列數(shù)統(tǒng)計(jì)。
size()函數(shù)size()函數(shù)用來(lái)統(tǒng)計(jì)矩陣元素的個(gè)數(shù)。在處理成批的數(shù)據(jù)時(shí),可以通過(guò)size()函數(shù)查看基礎(chǔ)數(shù)據(jù)中的元素?cái)?shù),進(jìn)行初步的分析。2.1DataFrame數(shù)據(jù)屬性(3)DataFrame序列提取在對(duì)DataFrame的數(shù)據(jù)處理中,時(shí)常需要提取序列(Series)并轉(zhuǎn)換為序列、數(shù)組等多種形式,以實(shí)現(xiàn)數(shù)據(jù)降維。通過(guò)逐步降維再返回原數(shù)據(jù),是迭代和數(shù)據(jù)計(jì)算中的常用辦法。2.2DataFrame數(shù)據(jù)查看2.2DataFrame數(shù)據(jù)查看(1)數(shù)據(jù)基本信息在DataFrame數(shù)據(jù)中,通過(guò)info()函數(shù)可顯示數(shù)據(jù)的基本信息,如查看數(shù)據(jù)類(lèi)型和內(nèi)存信息等,包括數(shù)據(jù)的索引、列數(shù)、列名、數(shù)據(jù)量、數(shù)據(jù)類(lèi)型、缺失值、內(nèi)存等。該函數(shù)的具體語(yǔ)法如下所示:2.2DataFrame數(shù)據(jù)查看2.2DataFrame數(shù)據(jù)查看(2)數(shù)據(jù)基本描述描述性統(tǒng)計(jì)是數(shù)據(jù)分析的重要工具,也是快速查看數(shù)據(jù)分布和數(shù)據(jù)特征的方法。通過(guò)describe()函數(shù)可以對(duì)數(shù)據(jù)的數(shù)量、均值、標(biāo)準(zhǔn)差、最小值、四分位取值等基本信息進(jìn)行描述性統(tǒng)計(jì)。該函數(shù)的具體語(yǔ)法如下所示:2.2DataFrame數(shù)據(jù)查看(2)數(shù)據(jù)基本描述describe()函數(shù)的輸出的統(tǒng)計(jì)變量如下:2.2DataFrame數(shù)據(jù)查看(3)讀取數(shù)據(jù)前/后幾行
在常用的數(shù)據(jù)處理中,可以通過(guò)head/tail函數(shù)來(lái)提取數(shù)據(jù)對(duì)象的前/后幾行。此操作可以用于數(shù)據(jù)預(yù)覽和查看分布,用以判斷數(shù)據(jù)是否有誤。這對(duì)于快速測(cè)試對(duì)象中的數(shù)據(jù)類(lèi)型是否正確非常有用。head/tail函數(shù)的具體語(yǔ)法如下所示:2.2DataFrame數(shù)據(jù)查看(4)數(shù)據(jù)分位數(shù)分位數(shù)是將一個(gè)隨機(jī)變量的概率分布范圍分為幾個(gè)等份的數(shù)值點(diǎn),按照數(shù)據(jù)從小到大分為若干等份,并以此來(lái)分析其數(shù)據(jù)變量的趨勢(shì),常用的有中位數(shù)、四分位數(shù)、百分位數(shù)等。通過(guò)quantile()函數(shù)可以獲取數(shù)據(jù)更細(xì)致的位置信息,從而判斷是否存在極端值情況。具體語(yǔ)法如下所示:2.2DataFrame數(shù)據(jù)查看2.2DataFrame數(shù)據(jù)查看(5)數(shù)據(jù)抽樣
使用Python進(jìn)行數(shù)據(jù)分析處理時(shí),時(shí)常需要進(jìn)行隨機(jī)抽樣。df.sample()函數(shù)可用于從DataFrame中隨機(jī)取樣。具體語(yǔ)法如下所示:2.2DataFrame數(shù)據(jù)查看2.2DataFrame數(shù)據(jù)查看(6)數(shù)據(jù)唯一值
unique()函數(shù)和nunique()函數(shù)可對(duì)數(shù)據(jù)的唯一值進(jìn)行統(tǒng)計(jì)。unique()函數(shù)可以查看序列(Series)的所有不同值,返回的數(shù)據(jù)類(lèi)型為array;nunique
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版建筑工程泥工施工勞務(wù)合同
- 二手商品房買(mǎi)賣(mài)合同范本2024年版(買(mǎi)賣(mài)雙方權(quán)益保障)
- 二零二五版廣東教育機(jī)構(gòu)勞務(wù)派遣服務(wù)協(xié)議3篇
- 二零二五年建筑公司項(xiàng)目管理團(tuán)隊(duì)勞動(dòng)合同3篇
- 2025年房產(chǎn)社交媒體營(yíng)銷(xiāo)合同3篇
- 二零二五年文化旅游產(chǎn)業(yè)PPP項(xiàng)目特許經(jīng)營(yíng)合同3篇
- 二零二五年度高效復(fù)合肥生產(chǎn)與銷(xiāo)售合作框架協(xié)議3篇
- 個(gè)性化2024版民間資金借貸擔(dān)保協(xié)議版B版
- 二零二五版光纖熔接項(xiàng)目融資服務(wù)合同范本3篇
- 2025年人工智能技術(shù)研發(fā)與應(yīng)用銷(xiāo)售合同書(shū)3篇
- 福建省廈門(mén)市2023-2024學(xué)年高二上學(xué)期期末考試語(yǔ)文試題(解析版)
- 三年級(jí)語(yǔ)文下冊(cè)教案-14 蜜蜂3-部編版
- 蘇教版小學(xué)數(shù)學(xué)四年級(jí)下冊(cè)全冊(cè)教案
- DB51T2939-2022 彩燈(自貢)制作工藝通用規(guī)范
- 押金收據(jù)條(通用版)
- 藥理治療中樞神經(jīng)系統(tǒng)退行性疾病藥.pptx
- 強(qiáng)三基反三違除隱患促安全百日專(zhuān)項(xiàng)行動(dòng)實(shí)施方案
- 新人教版七年級(jí)數(shù)學(xué)上冊(cè)全冊(cè)專(zhuān)項(xiàng)訓(xùn)練大全
- 標(biāo)準(zhǔn)預(yù)防--ppt課件
- 壓力管道氬電聯(lián)焊作業(yè)指導(dǎo)書(shū)
- 審計(jì)資料封面(共6頁(yè))
評(píng)論
0/150
提交評(píng)論