




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
公眾號:陳西設計之家。微信搜索即可。更多免費原創PPT模板以及教程設計作品源文件可以在公眾號內無條件獲取。金融數據獲取及預處理Python金融數據分析與應用(微課版)第三章公眾號:陳西設計之家。微信搜索即可。更多免費原創PPT模板以及教程設計作品源文件可以在公眾號內無條件獲取。目錄CONTENTS金融數據獲取3.1數據清洗3.2數據變換3.3公眾號:陳西設計之家。微信搜索即可。更多免費原創PPT模板以及教程設計作品源文件可以在公眾號內無條件獲取。3.1金融數據獲取公眾號:陳西設計之家。微信搜索即可。更多免費原創PPT模板以及教程設計作品源文件可以在公眾號內無條件獲取。3.1金融數據獲取3.1.1第三方數據接口AKShare數據接口AKShare是一個基于Python的金融數據接口,數據來源包括東方財富網、新浪財經、同花順財經等,可高效獲取股票、期貨、債券等金融數據,如股票價格、技術指標、基本面數據等。BaoStock數據接口BaoStock用于獲取中國股市數據,數據來源包括雪球、東方財富網等。與AKShare相比,BaoStock在獲取實時數據方面有優勢,但數據接口較少。數據接口對比接口庫AKShareBaoStock數據范圍提供股票、基金、期貨等多領域數據,覆蓋面較廣泛提供大量證券歷史K線數據、上市公司財務數據等接口易用性接口較穩定,響應速度較快,提供詳細的文檔和示例接口簡單易用,部分功能需要安裝依賴庫才能使用更新更新較為頻繁,維護較好,但部分數據更新速度較慢更新及時,根據市場需求進行功能優化和擴展公眾號:陳西設計之家。微信搜索即可。更多免費原創PPT模板以及教程設計作品源文件可以在公眾號內無條件獲取。3.1.2網絡爬蟲網絡爬蟲又稱為網頁蜘蛛、網絡機器人,是一種按照一定的規則,自動請求互聯網上的網頁,并提取網絡數據的程序或者腳本。網絡爬蟲從功能上來講,一般分為數據采集、網頁解析和數據存儲這3個部分。爬蟲流程3.1金融數據獲取①初始URL:從一個或若干初始網頁的URL(UniformResourceLocator,統一資源定位符)開始。這些初始URL通常來自已知的種子URL或其他爬蟲策略。②數據采集:爬蟲通過HTTP(HypertextTransferProtocol,超文本傳送協議)請求獲取初始網頁的內容。③網頁解析:爬蟲將獲取到的網頁內容進行解析,提取出感興趣的信息以及新的URL。④數據存儲:將處理后的數據存儲到本地或遠程數據庫中,以便后續的查詢和檢索。重復以上過程:爬蟲會不斷地執行數據采集、網頁解析、數據存儲等步驟,直到滿足系統的停止條件。基本流程公眾號:陳西設計之家。微信搜索即可。更多免費原創PPT模板以及教程設計作品源文件可以在公眾號內無條件獲取。3.1.2網絡爬蟲pd.read_html()是pandas庫中的一個函數,可用于解析網頁中的表格數據,并將它們轉換為pandas的數據框。該函數會自動解析HTML文件中的表格,將其轉換成pandas的DataFrame,并返回一個包含DataFrame的列表。如果HTML文件中包含多個表格,那么返回結果就是一個列表,列表中的每個元素是一個DataFrame。表格數據爬取3.1金融數據獲取參數說明io必選參數,可以是一個HTML字符串、文件對象、URL或文件路徑match可選,字符串,用于指定HTML標簽匹配模式。默認值為table,表示查找所有的表格標簽header可選,整型,表示表格中的表頭行索引。默認值為0index_col可選,整型,表示要作為索引的列索引。默認值為0encoding可選,表示HTML內容的編碼格式。默認值為None,表示自動檢測pd.read_html()參數說明金融表格數據爬取應用舉例3.1金融數據獲取3.1.2網絡爬蟲以中商情報網的A股上市企業股票數據為例,展示如何利用pd.read_html()爬取數據。Python演示步驟1獲取不同網頁的URL。單擊A股上市企業股票頁面中的“下一頁”,觀察不同網頁URL的變化。步驟2分頁爬取并存儲。以爬取1~50頁股票數據為例,首先通過循環分頁爬取股票數據,然后通過pd.concat()進行數據合并,并保存為本地文件“A股上市企業股票數據.xlsx”。輸出該文件的形狀。公眾號:陳西設計之家。微信搜索即可。更多免費原創PPT模板以及教程設計作品源文件可以在公眾號內無條件獲取。3.2數據清洗3.2數據清洗缺失值處理重復值處理異常值處理
數據清洗是對數據進行處理,以提高數據質量和可用性。數據清洗在數據分析、挖掘、可視化以及統計報表等環節之前進行,以確保后續工作是基于高質量的數據進行的。在數據清洗前應先觀察數據中存在的問題,然后有針對性地進行清洗。【案例3-1】上市企業基本信息上市企業基本信息是公開的,這些信息通常由中國證券監督管理委員會指定的信息披露平臺以及各個上市企業的官方網站公布。現在獲取了部分上市企業基本信息,請對這些基本信息進行清洗與整理,具體數據見文件“上市企業基本信息.xlsx”。importpandasaspddata=pd.read_excel('上市企業基本信息.xlsx')()3.2數據清洗存在問題:第一,“產品類型”“城市”等變量有空值;第二,“股票代碼”默認的數據類型為整型,實際分析中股票代碼在Python中的數據類型通常是字符串;第三,“主營業務收入”“凈利潤”的數據類型不是數值型。缺失值的類型與影響處理缺失值的主要函數缺失值是指在數據集中某些觀測值的位置上,其數值或信息未能被完整記錄的現象。缺失值可以分為兩種類型:完全隨機缺失和非隨機缺失。完全隨機缺失是指缺失值的產生與數據集中的其他變量無關,缺失值的位置是完全隨機的;非隨機缺失是指數據的缺失依賴于不完全變量自身。在實際應用中,處理缺失值的方法主要有以下幾種。第一,刪除法。直接刪除有缺失值的樣本或存在大量缺失值的變量,以減少數據集中的缺失信息。第二,填充法。使用某種指標(如均值、中位數、眾數等)填充缺失值,使得數據分布保持不變。3.2.1缺失值處理函數作用isnull()該函數用于檢查數據中是否存在缺失值。它返回一個布爾值,其中缺失值標記為True,非缺失值標記為Falsenotnull()與isnull()相反,該函數返回一個布爾掩碼,其中非缺失值標記為True,缺失值標記為Falsedropna()該函數用于刪除數據中的缺失值。可以指定刪除的方式(如按行或按列)以及刪除的條件(如至少有多少個非缺失值)fillna()該函數用于填充數據中的缺失值。可以使用指定的值、列的均值、中位數等來填充3.2數據清洗市企業股票基本信息為例,進行缺失值處理。步驟1顯示缺失值的數量和占比。步驟2對于缺失值,分為以下3種情況進行處理。第一種情況:變量“產品類型”數據缺失比例達到了40%,刪除該列。第二種情況:“主營業務收入”和“凈利潤”缺失比例為3%,缺失比例較低,且獲取缺失樣本相應的值不容易,在此刪除缺失值所在的行。第三種情況:“城市”數據缺失,但通過查找可知缺失對應公司所在的城市為“深圳市”,在此通過固定值“深圳市”進行填充。3.2.1缺失值處理3.2數據清洗Python演示重復值的識別與影響重復值是指在數據集中出現多次的相同或非常相似的數值。不處理重復值會導致分析結果出現偏差。在Python中,可以使用函數drop_duplicates()來處理重復值。該函數的主要作用是在DataFrame中保留唯一行,刪除其他重復行。3.2.2重復值處理3.2數據清洗函數的語法如下:drop_duplicates(subset=None,keep='first',inplace=False)Python演示print(data.shape[0]-data.drop_duplicates().shape[0])#輸出重復值個數data=data.drop_duplicates()#刪除重復值data.shape#顯示數據形狀異常值處理方法3.2.3異常值處理3.2數據清洗
異常值是指在數據集中與其他值相比具有顯著差異的值,這些值可能是由采集錯誤、人為錯誤、設備故障等因素導致的。異常值會對后續的數據分析和建模產生不良影響,因此識別和處理異常值具有重要意義。
在pandas中,可以使用以下方法識別異常值:
描述統計方法,通過計算數據的統計量,如均值、中位數、標準差等,快速識別異常值;
箱線圖法,通過繪制箱線圖,觀察數據的分布情況,從而識別異常值;
異常值檢測算法,使用一些專門的異常值檢測算法,如IQR(InterquartileRange,四分位距)、3σ法則等。公眾號:陳西設計之家。微信搜索即可。更多免費原創PPT模板以及教程設計作品源文件可以在公眾號內無條件獲取。3.3數據變換數據類型轉換是指將一種數據類型轉換為另一種數據類型的過程。在進行數據處理和分析時,可能需要將原始數據的數據類型轉換為特定數據類型以滿足算法或庫的要求。在Python中,有很多方法可以用于數據類型轉換,例如:使用str()函數將數字轉換為字符串使用int()函數將數字字符串轉換為整數使用float()函數將數字字符串轉換為浮點數使用apply()或astype()函數將DataFrame的列數據的數據類型轉換為其他數據類型3.3.1數據類型轉換3.3數據變換使用str()函數將數字轉換為字符串,示例代碼如下:a=12print("a的數據類型:",type(a))b=str(a)print("b的數據類型:",type(b))使用int()函數將數字字符串轉換為整數,示例代碼如下:a="12"print("a的數據類型:",type(a))b=int(a)print("b的數據類型:",type(b))使用float()函數將數字字符串轉換為浮點數,示例代碼如下:a="42.5"print("a的數據類型:",type(a))b=float(a)print("b的數據類型:",type(b))使用apply()或astype()函數將DataFrame的列數據的數據類型轉換為其他數據類型,示例代碼如下:importpandas
aspddf=pd.DataFrame({'column1':[1,'2',3],
'column2':
[1.5,'3',2.5]})
#創建一個包含數值和字符串的DataFrame()#顯示DataFrame列信息print('-='*20)#分隔符df['column1']=df['column1'].astype(int)#將數據類型轉換為整型df['column2']=df['column2'].astype(float)#將數據類型轉換為浮點型()3.3.1數據類型轉換3.3數據變換Python演示3.3.1數據類型轉換3.3數據變換數據類型轉換應用舉例以【案例3-1】中的變量“主營業務收入”“凈利潤”“股票代碼”為例,演示數據類型轉換。3.3.1數據類型轉換3.3數據變換數據類型轉換應用舉例以【案例3-1】中的變量“主營業務收入”“凈利潤”“股票代碼”為例,演示數據類型轉換。①“主營業務收入”“凈利潤”的數據類型轉換。步驟1
自定義單位換算函數。根據數據特點,定義函數規則,如果數據中包含“億”,將“億”替換為空,再將數據轉換為數值并乘10000,將數據單位換算為“萬”;如果數據中包含“萬”,則將“萬”替換為空,然后將數據轉換為數值型。步驟2應用單位換算函數到DataFrame的列“主營業務收入”“凈利潤”。②“股票代碼”的數據類型轉換。股票代碼通常是由字母和數字組成的字符串,如“SH000001”;有時也會將字母省略,如“000001”。從圖3-8可以看出,數據中的“股票代碼”取值并不是6位,在此用0補全6位。首先自定義一個補全函數,然后通過apply()函數進行批量補全Python演示Z-score標準化主要是將原始數據映射到均值為0、標準差為1的正態分布中,數據歸一化后的數據范圍為實數集。Z-score標準化經過Min-max標準化處理后的新數據的最大值為1,最小值為0,其余數值均在0與1之間。Min-max標準化3.3.2數值型特征歸一化3.3數據變換X=data[['主營業務收入','凈利潤','員工人數']]fromsklearn.preprocessingimportMinMaxScalerX_minmax_scaler=MinMaxScaler()_minmax_scaled=X_minmax_scaler.fit_transform(X)X_minmax_scaledX=data[['主營業務收入','凈利潤','員工人數']]fromsklearn.preprocessingimportStandardScalerX_scaler=StandardScaler()
X_scaled=X_scaler.fit_transform(X)
X_scaled0102標簽編碼標簽編碼(LabelEncoding)是指簡單地賦予不同類別不同的數字標簽的編碼方法。這種編碼方法簡單易實現,但在多類別分類任務中可能導致編碼沖突。獨熱編碼獨熱編碼(One-hotEncoding)將類別型特征轉換為二進制編碼。對于具有k個類別的特征,獨熱編碼會將其轉換為長度為k的二進制向量。簡單來說,獨熱編碼就是利用0和1來表示類別。類別
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鹽的地下開采技術考核試卷
- 社會救助住宿服務的區域差異分析考核試卷
- 2025年小學春季學期教學改革計劃
- 高二生物課件制作與應用計劃
- 2024-2025學年幼兒園課程創新計劃
- 工程項目安全生產防范措施
- 移動應用質量保證措施
- 在線直播課程教學計劃
- 小學三年級上冊語文家校合作復習計劃
- 2024-2025學年人教版新目標八年級上英語俱樂部活動計劃
- 六年級擇校考試卷
- 髂總動脈瘤的護理查房
- 紅色美術鑒賞智慧樹知到期末考試答案2024年
- 量化考研-2024中國大學生考研白皮書-新東方
- 施工固定總價合同
- 《施工現場消防》課件
- T-NMAAA.0002-2021 營運機動車停運損失鑒定評估規范
- 七年級下冊語文必背常考全冊重點知識匯總(打印版)
- 血液透析護理質量敏感指標
- 2024年新高考適應性考試俄語試題含答案
- 非法營運培訓課件
評論
0/150
提交評論