




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第一章Python基礎知識Python金融數據分析與應用(微課版)目錄CONTENTSPython概述與環境搭建1.1Python的數據類型1.2Python的數據結構1.3Python的運算符1.4Python的函數1.5Python的基本結構1.6Python在金融數據中的應用1.71.1Python概述與環境搭建1.1
Python概述與環境搭建(1)?發展歷程1.1.1Python概述Python自1991年由吉多·范羅蘇姆(GuidovanRossum)創造以來,已經經歷了30多年的發展。Python2.0在2000年發布,引入了許多新特性,包括垃圾回收機制,大大提高了Python代碼的運行效率和穩定性。2008年,Python3.0發布,該版本進行了重大更新,以解決2.x版本中存在的一些設計缺陷。Python版本發展情況如表1-1所示。發布版本發布年份0.9.1~1.5.21991—1999年1.6.12000年2.0.02000年2.0.1~2.2.32001—2003年2.3.0~2.7.182003—2020年3.0.02008年3.0.1~3.13.12009—2024年表1-1Python版本發展情況1.1
Python概述與環境搭建1簡潔易讀:Python的設計哲學強調代碼的可讀性,其語法簡潔、直觀,類似英語的表達方式,這使得開發者能夠專注于解決問題而非語言本身,極大地提高了代碼的可維護性。2易學易用:Python擁有豐富的文檔和教程,使初學者能夠快速上手。Python清晰的語法規則和一致的編程風格,降低了初學者的學習門檻,成為初學者和專業開發者的理想選擇。3功能強大、用途廣泛:Python擁有龐大的標準庫和第三方庫,涵蓋從網絡編程、數據分析到人工智能等多個領域,成為解決各種問題的有力工具。4開源免費、跨平臺:Python是開源社區的“寵兒”,用戶可以自由使用、修改和分發代碼。其跨平臺的特點使得Python程序可以在多種操作系統上運行,無須修改即可移植到Linux、Windows等不同的系統平臺。(2)?特點1.1.1Python概述1.1
Python概述與環境搭建(1)?Anaconda簡介1.1.2Anaconda概述Python可用于Windows、macOS和Linux三大操作系統。用戶可在Python的官方網站根據操作系統下載對應Python安裝包。Anaconda(意為蟒蛇)屬于開源且專注于數據分析的Python發行版本,包含conda、Python等190多個科學包及其依賴項,方便用戶便捷獲取包并對包進行管理。Anaconda還附帶非常好用的交互式代碼編輯器JupyterNotebook,便于用戶編寫Python程序。Anaconda具有開源、安裝過程簡單、高性能使用Python和R語言、免費的社區支持等特點。(2)?安裝安裝之前請準備安裝了64位操作系統(部分庫不支持32位操作系統)的計算機,按照如下步驟完成安裝。1.1.2
Anaconda概述1.1
Python概述與環境搭建010204步驟1?下載Anaconda。如果Anaconda官方網站訪問速度較慢,可以通過“清華大學開源軟件鏡像站”下載對應操作系統的安裝包。?在計算機中找到下載的Anaconda安裝包,雙擊它,打開Anaconda安裝界面。?打開安裝界面,保持默認設置,單擊“Install”進行安裝040305步驟2步驟3步驟4步驟5?單擊“Next”→選擇“IAgree”→選擇默認選項“JustMe(recommened)”,單擊“Next”→單擊“Browse”設置安裝路徑?等待安裝完成→單擊“Next”→保持默認設置→單擊“Finish”,關閉界面。安裝成功。(2)?安裝1.1.2
Anaconda概述1.1
Python概述與環境搭建圖1-1
?Anaconda安裝包下載界面?圖1-3安裝路徑設置界面?圖1-2Anaconda安裝界面?圖1-4安裝界面?圖1-5安裝成功界面?【注意】Anaconda已經集成了Python環境,即安裝Anaconda后無須再安裝Python。下載及安裝Anaconda時,請確保安裝包和系統位數是對應的。1.1
Python概述與環境搭建(1)?JupyterNotebook簡介1.1.3JupyterNotebook概述JupyterNotebook是一個網絡交互式工具,用戶可以創建包含代碼和多媒體內容的文檔,并實時運行Python代碼,直觀展示分析結果。JupyterNotebook(此前被稱為IPythonNotebook)是基于網頁的用于交互計算的應用程序,其具體組成如下。基于網頁形式,結合了編寫說明文檔、數學公式、交互計算和其他多媒體形式的工具,可實現多種功能。JupyterNotebook中所有交互計算、編寫說明文檔、數學公式、圖片以及其他多媒體形式的輸入和輸出,都以文檔的形式體現。文檔可以保存為擴展名為.ipynb的文件,這不僅便于版本控制,也方便與他人共享。此外,文檔還可以導出為HTML、LaTeX、PDF等格式。網頁應用文檔Anaconda安裝后自帶代碼編輯器JupyterNotebook,因此無須重復安裝。1.1
Python概述與環境搭建(2)使用方法1.1.3JupyterNotebook概述JupyterNotebook的使用及操作較為簡單,具體如下。
01
02
03
04
05
06運行JupyterNotebook加載與顯示JupyterNotebook網頁應用新建Python程序文檔輸入Python代碼并運行Python代碼編輯界面常用按鈕保存代碼文檔及運行結果(2)?使用方法1.1.3JupyterNotebook概述1.1
Python概述與環境搭建
?圖1-6運行JupyterNotebook
?圖1-7JupyterNotebook網頁操作界面
?圖1-8新建Python程序文檔圖1-9Python代碼編輯界面
?圖1-10常用按鈕及代碼運行序號展示圖1-11代碼文檔保存方法1.1
Python概述與環境搭建(1)Python庫介紹1.1.4Python庫的安裝Python有兩個主要特征,一個是與其他語言相融合的能力,另一個是擁有成熟的軟件庫系統。Python庫可分為標準庫(內置庫)和第三方庫(擴展庫)兩類。標準庫是隨Python發行的一系列模塊的集合,提供了許多基礎的功能和服務,可以直接被開發者在代碼中引用,無須額外安裝。第三方庫則是由Python社區的其他成員或組織開發的庫,通常用于滿足特定需求或提供額外功能。1.1
Python概述與環境搭建(1)Python庫介紹1.1.4Python庫的安裝類型庫名說明標準庫(內置庫)datetime為日期和時間的處理提供簡單和復雜的方法random生成隨機數的工具math為浮點運算提供對底層C函數庫的訪問re為高級字符串處理提供正則表達式工具第三方庫(擴展庫)NumPy為Python提供高級數學方法SciPyPython的算法和數學工具庫SymPy可用于代數評測、代碼差異化呈現、代碼擴展、復數運算等pandasNumPy基礎上的科學計算庫Matplotlib用于繪制數據圖Pillow是PIL(PythonImagingLibrary,Python圖形庫)的一個分支,適用于圖形領域Scrapy爬蟲工具常用庫表1-2常見的Python庫(2)?使用pip命令安裝Python擴展庫1.1.4Python庫的安裝1.1
Python概述與環境搭建在JupyterNotebook中安裝Python擴展庫,可使用以下命令:如果想安裝名為seaborn的Python擴展庫,命令如下:若通過pip默認下載、安裝速度較慢,則有可能導致安裝報錯,這時可使用國內鏡像源提升下載速度并提高安裝成功率,命令如下:示例命令如下:!pipinstall庫名!pipinstallseaborn#首次安裝后需重啟內核,方可生效!pipinstall庫名-i鏡像地址!pipinstallSpeechRecognition-i/simple#通過清華鏡像地址安裝SpeechRecognition庫(3)使用pip命令管理Python擴展庫1.1.4Python庫的安裝1.1
Python概述與環境搭建pip常用命令如表1-3所示。pip命令說明pipinstall-U庫名升級庫pipuninstall庫名卸載庫pipshow庫名顯示庫的詳細信息pipdownload庫名僅下載庫,但不安裝piplist列出當前已安裝的所有庫pipinstall庫名.whl通過.whl文件離線安裝擴展庫表1-3pip常用命令1.2Python的數據類型1.2Python的數據類型整型(IntegerType,簡稱int)通常用于表示整數,是最基本的數據類型之一,用于表示沒有小數部分的數,可以為0、正數或者負數,沒有大小限制。可使用“變量名=數據”這種形式的Python語句進行變量賦值,可通過type()函數查看數據類型,示例代碼如下:另外,可使用int()函數將數值類型強制轉換為整型,示例代碼如下:1.2.1整型trans=2#將整型數值2賦值給trans變量,代表交易次數type(trans)#查看trans變量的數據類型int(2.36)#將數值2.36強制轉換為整型數值?代碼運行結果為“int”。?代碼運行結果為“2”。1.2Python的數據類型浮點型(Floating-pointType,簡稱float)用于表示有小數部分的數,由整數部分與小數部分組成以下示例代碼展示了如何進行浮點型變量賦值以及如何使用float()函數強制轉換數據類型:1.2.2浮點型price=332.6 #將浮點型數值332.6賦值給price變量,代表價格print(price) #使用print()函數輸出price變量值float(200) #將整型數值200強制轉換為浮點型數值?代碼運行結果如下,其中展示了浮點型數值332.6,并完成整型數值200的數據類型強制轉換:332.6200.01.2Python的數據類型復數(ComplexNumber,簡稱complex)是Python中的另一種數據類型,由實數部分和虛數部分構成,用a+bj表示。以下示例代碼展示了如何進行復數變量賦值以及如何使用complex()函數強制轉換數據類型:1.2.3復數com=1+2j #將復數1+2j賦值給com變量print(com) #使用print()函數輸出com變量值print(complex(200)) #將整型數值200強制轉換為復數,并用print()函數輸出print(complex(200,3)) #將200和3強制轉換為復數,實數部分為200,虛數部分為3,并用print()函數輸出?代碼運行結果如下:(1+2j)(200+0j)(200+3j)1.2Python的數據類型字符串(String)是由字符組成的序列,用于表示文本數據。在金融數據分析中,字符串廣泛用于處理交易代碼、公司名稱、日期時間等非數值型信息。在Python中,可以使用單引號、雙引號和三引號(3個單引號或3個雙引號)定義字符串。通常,單引號和雙引號對于字符串的定義在代碼運行結果上相同,不做區分;三引號通常用于輸入多行字符串,不僅可以保留字符串內容,還可以保留多行字符串的格式。1.2.4字符串str1='金融數據分析' #用單引號將文本“金融數據分析”賦值給str1變量str2="Python" #用雙引號將文本“Python”賦值給str2變量str3='''學習什么是字符串''' #用3個單引號將多行文本賦值給str3變量print(str1)#使用print()函數輸出字符串變量str1print(str2)print(str3)?代碼運行結果如下:金融數據分析Python學習什么是字符串1.3Python的數據結構1.3Python的數據結構元組(Tuple)是Python中一種不可變的數據結構,是用于存儲多個元素的有序集合。元組中的元素可以是不同數據類型的,且一旦創建,其內容無法更改。元組使用圓括號“()”來定義,元素之間用逗號分隔。1.3.1元組#創建元組stock_info=('AAPL',150.75,'2023-05-21')#訪問元組元素symbol=stock_info[0] #訪問元組的第一個元素price=stock_info[1] #訪問元組的第二個元素date=stock_info[2] #訪問元組的第三個元素print(f'Stock:{symbol},Price:{price},Date:{date}')?代碼運行結果為:“Stock:AAPL,Price:150.75,Date:2023-05-21”,成功依次訪問了元組元素并賦值給symbol、price、date變量。(1)元組的創建和訪問元組可以包含任意類型的數據,包括字符串、整數、浮點數等。1.3Python的數據結構1.3.1元組#元組的連接stock_info_extended=stock_info+('NASDAQ',)#元組的重復repeated_info=stock_info*2#元組的切片price_date=stock_info[1:3]print(stock_info_extended)print(repeated_info)print(price_date)?代碼運行結果如下:('AAPL',150.75,'2023-05-21','NASDAQ')('AAPL',150.75,'2023-05-21','AAPL',150.75,'2023-05-21')(150.75,'2023-05-21')(2)元組的常見操作元組的基本操作,如連接、重復和切片。可以發現,元組通過基本操作發生了相應變化。1.3Python的數據結構1.3.2列表#創建列表stock_prices=[150.75,153.00,155.25,148.50]#訪問列表元素first_price=stock_prices[0] #訪問列表的第一個元素last_price=stock_prices[-1] #訪問列表的最后一個元素print(f'FirstPrice:{first_price},LastPrice:{last_price}')?代碼運行結果為:“FirstPrice:150.75,LastPrice:148.5”,成功訪問了列表元素。(1)列表的創建和訪問列表(List)是Python中一種靈活的可變數據結構,是用于存儲多個元素的有序集合。與元組不同,列表的內容可以隨時更改,這使得列表在需要頻繁修改數據的場景中非常有用。列表使用方括號“[]”來定義,元素之間用逗號分隔。列表可以包含不同類型的數據,并且可以通過索引訪問其中的元素,以下是示例代碼:1.3Python的數據結構1.3.2列表#添加元素stock_prices.append(149.75)#刪除元素delstock_prices[1]#修改元素stock_prices[0]=151.00print(stock_prices)?代碼運行結果為:“[151.0,155.25,148.5,149.75]”,完成了列表的常見操作。(2)列表的常見操作列表支持多種操作,如添加(append())、刪除(del)和修改)。(1)?字典的創建和訪問字典適用于需要快速查找和存儲關聯數據的場景,可以通過鍵來訪問對應的值,以下為示例代碼:1.3.3
字典?字典(Dictionary)用于存儲鍵值對(Key-Value
Pair)。字典中的鍵必須是唯一的,通常為字符串,而值可以是任意的數據類型。字典使用花括號“{}”來定義,鍵值對之間用逗號分隔,鍵和值之間用冒號分隔。1.3
Python的數據結構?#創建字典stock_data={'symbol':'AAPL','price':150.75,'date':'2023-05-21’?}#訪問字典元素symbol=stock_data['symbol']price=stock_data['price']print(f'Stock:{symbol},Price:{price}')?代碼運行結果為“Stock:AAPL,Price:150.75”,成功完成字典的創建和訪問。(2)??字典的常見操作字典支持添加、刪除和修改操作,非常適合用于動態存儲和處理數據。針對上述創建好的字典stock_data進行常見操作,示例代碼如下:?#添加元素stock_data['exchange']='NASDAQ'#刪除元素delstock_data['date']#修改元素stock_data['price']=151.00print(stock_data)??代碼運行結果為“{‘symbol’:‘AAPL’,‘price’:151.0,‘exchange’:‘NASDAQ’}”,完成了字典的常見操作。1.3
Python的數據結構1.4Python的運算符1.4Python的運算符(1)算術運算符算術運算符用于執行基本的數學運算,如加法、減法、乘法、除法等。Python算術運算符如表1-4所示。運算符描述+加法-減法*乘法/除法%取模**冪運算//取整除表1-4Python算術運算符1.4Python的運算符(2)比較運算符比較運算符用于比較兩個值的大小,返回布爾值。Python比較運算符如表1-5所示。表1-5Python比較運算符運算符描述==等于!=不等于>
大于<
小于>=大于等于<=小于等于1.4Python的運算符(3)邏輯運算符邏輯運算符用于布爾值的邏輯運算,包括邏輯與、邏輯或、邏輯非操作。Python邏輯運算符如表1-6所示。表1-6Python邏輯運算符運算符描述and邏輯與or邏輯或not邏輯非1.4Python的運算符(4)位運算符位運算符用于對整數的二進制位進行操作。Python位運算符如表1-7所示。表1-7Python位運算符運算符描述&按位與|按位或^按位異或~按位取反<<
左移>>
右移1.5Python的函數1.5Python的函數Python提供了大量內置函數,可以直接使用。常見的內置函數包括print()、len()、type()、sum()等。1.5.1內置函數#使用內置函數print('Hello,Python!')#輸出字符串length=len([1,2,3,4])#計算列表長度data_type=type(123.45)#獲取數據類型total=sum([1,2,3,4])#計算總和print(length,data_type,total)?代碼運行結果為:Hello,Python!4<class'float'>101.5Python的函數Python允許用戶使用自定義函數以實現特定的功能和邏輯。自定義函數使用def關鍵字,函數名后跟圓括號,圓括號內可以包含參數列表。1.5.2自定義函數#定義自定義函數defcalculate_profit(cost,revenue): #包含2個形參cost、revenueprofit=revenue-costreturnprofit #自定義函數返回參數profit#調用自定義函數cost=100revenue=150profit=calculate_profit(cost,revenue)#按順序傳入賦值后的實參cost、revenueprint(f'Profit:{profit}')#輸出傳入實參后的返回參數profit?代碼運行結果為:“Profit:50”,完成revenue-cost的運算。1.6Python的基本結構1.6Python的基本結構順序結構是指代碼按照先后順序依次執行,適用于需要按順序執行多個操作的場景。以下示例代碼展示了順序結構的使用方法:1.6.1順序結構print('Step1')print('Step2')print('Step3’)?代碼運行結果為:Step1Step2Step31.6Python的基本結構1.6.2選擇分支結構price=150ifprice>100:print('Priceisgreaterthan100')?代碼運行結果為:“Priceisgreaterthan100”。(1)if語句if語句根據條件表達式的結果(真或假,即True或False)來決定是否執行代碼塊。如果結果為真,則執行代碼塊,否則跳過,示例代碼如下:1.6Python的基本結構1.6.2選擇分支結構price=90ifprice>100:print('Priceisgreaterthan100')else:print('Priceis100orless')?代碼運行結果為:“Priceis100orless”。(2)if-else語句if-else語句提供了一條備用路徑,當條件表達式為假時,執行else后的代碼塊,示例代碼如下:1.6Python的基本結構1.6.2選擇分支結構price=100ifprice>100:print('Priceisgreaterthan100')elifprice==100:print('Priceis100')else:print('Priceislessthan100')?代碼運行結果為:“Priceis100”,按照順序依次判斷是否符合條件表達式,最終只輸出符合條件表達式的結果。(3)if-elif-else語句if-elif-else語句用于多個條件判斷,依次檢查每個條件表達式,直到找到一個結果為真的條件表達式,并執行對應的代碼塊。如果所有條件表達式的結果都為假,則執行else后的代碼塊,示例代碼如下:1.6Python的基本結構1.6.3循環結構#for循環遍歷列表stock_prices=[150.75,153.00,155.25,148.50]forpriceinstock_prices:print(f'Price:{price}')#依次輸出stock_prices列表中的price?代碼運行結果如下:Price:150.75Price:153.0Price:155.25Price:148.5(1)for循環for循環用于遍歷一個序列(例如列表、元組、字符串等)或可迭代對象中的所有元素,并對每個元素執行指定的代碼塊,示例代碼如下:可以看出,使用for循環可遍歷序列中的元素并依次輸出展示。1.6Python的基本結構1.6.3循環結構#while循環示例count=0whilecount<5:print(f'Count{count}')count+=1?代碼運行結果如下:Count0Count1Count2Count3Count4(2)while循環while循環在給定條件為真時,重復執行代碼塊,當條件為假時,退出循環,適用于需要在滿足某個條件時重復執行的場景,示例代碼如下:可以看出,當count<5(即條件為真時)才執行代碼塊。1.6Python的基本結構1.6.3循環結構#for嵌套循環示例foriinrange(3): #i的取值為0、1、2forjinrange(2): #j的取值為0、1print(f'i={i},j={j}’)?代碼運行結果如下:i=0,j=0i=0,j=1i=1,j=0i=1,j=1i=2,j=0i=2,j=1(3)嵌套循環Python支持嵌套循環,即在一個循環體內嵌套另一個循環。嵌套循環在處理多維數據時特別有用,以下示例代碼展示了for循環嵌套:可以看出,對于嵌套循環,在外層循環的給定條件下,優先執行完內層循環,才會再次執行外層循環。1.6Python的基本結構1.6.3循環結構stock_prices=[150.75,155.25,148.50,153.00]#使用break語句forpriceinstock_prices:ifprice<150:print('Priceistoolow,stoppingtheloop.')break#按序遍歷列表元素,如果數值小于150,退出循環
print(f'Price:{price}')#使用continue語句forpriceinstock_prices:ifprice<150:print('Skippi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 IEC 63522-49:2025 EN-FR Electrical relays - Tests and measurements - Part 49: Long term stability of sealing
- 2025年營養與食品衛生考試題及答案
- 2025年資源環境管理與評估考試試卷及答案
- 2025年網絡輿情監測與應對策略考試題及答案
- 2025年統計與數據分析師資格考試試題及答案
- 2025年科學決策與領導能力綜合評估試題及答案
- 2025年PCB制板項目建議書
- 骨科專科護理規范與實務
- 骨科循證護理體系構建與實踐路徑
- 2025年連續波測距儀合作協議書
- 大壩安全監測培訓課件
- 康復治療技術運動療法課件
- 高等數學上冊ppt課件完整版
- 電力建設熱工熱控作業指導書
- 自主探究式教學活動模式結題報告
- 甲醇及制氫裝置預試車方案
- 110kV升壓站土建監理實施細則
- 分子的立體構型
- GB 25595-2018 食品安全國家標準 乳糖(高清版)
- 部編版七年級語文下冊文言文專項練習
- 供應商社會準則符合性自審問卷
評論
0/150
提交評論