Python開發(fā)與財務應用課件_第1頁
Python開發(fā)與財務應用課件_第2頁
Python開發(fā)與財務應用課件_第3頁
Python開發(fā)與財務應用課件_第4頁
Python開發(fā)與財務應用課件_第5頁
已閱讀5頁,還剩175頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、Python 基礎Python 概述01Python 基礎Python 概述01Python的應用方向爬蟲爬取網(wǎng)站數(shù)據(jù)分析圖片處理Python的應用方向爬蟲爬取網(wǎng)站數(shù)據(jù)分析圖片處理大勢所趨財務大數(shù)據(jù)智能財務RPA財務機器人大勢所趨財務大數(shù)據(jù)智能財務RPA財務機器人Python開發(fā)與財務應用課件Python 基礎“Hello Python” 寫下我們第一個程序01Python 基礎“Hello Python”01Python開發(fā)與財務應用課件輸出最簡單的Python程序,輸出一句話:“這是財務人的第一個Python程序”,如何實現(xiàn)呢?print函數(shù)()也可以接受多個文本,用逗號隔開。Python

2、提供了print()函數(shù),可以非常簡單地實現(xiàn)這個功能。輸出最簡單的Python程序,輸出一句話:“這是財務人的第一給程序加點佐料:注釋定義:一些說明性的語句,輔助理解或記憶(程序不做任何操作)。多行注釋以3個單引號(或雙引號)將文字包裹起來,寫法如下:單行注釋以 # 號開頭,有兩種寫法: 單獨占一行 寫在代碼后給程序加點佐料:注釋定義:一些說明性的語句,輔助理解或記憶(輸入想要更靈活地輸出我想要的東西怎么辦?比如上文中【固定資產(chǎn)原值】的金額不想寫死在輸出語句中,而想在程序執(zhí)行時再告訴它?Python提供了input()函數(shù),可以讓用戶輸入。金額輸入完成后,按下回車輸入想要更靈活地輸出我想要的東

3、西怎么辦?比如上文中【固定資產(chǎn)小結(jié)用print() 輸出,input()輸入。#、或后面可以寫注釋,多寫注釋能幫助我們理解程序。小結(jié)用print() 輸出,input()輸入。Python 基礎語法變量與賦值02Python 基礎語法變量與賦值02Python開發(fā)與財務應用課件什么是變量變量按字面理解就是會變化的量money = 100變量名稱賦值數(shù)據(jù)語法:變量 = 數(shù)據(jù)賦值規(guī)則:1.等號右邊有運算時,算出結(jié)果后再賦值給變量。 2.變量可以被多次賦值,并且每一次賦值會覆蓋原來的值。小貼士:“=”不代表數(shù)學上的相等什么是變量變量按字面理解就是會變化的量money = 變量的命名規(guī)則python規(guī)

4、定了命名時要遵循以下四條原則:1. 對大小寫敏感 Andyandy2. 第一個字符必須是字母表中字母或者下劃線3. 只能包含字母,數(shù)字和下劃線4. 不能使用某些特殊單詞變量的命名規(guī)則python規(guī)定了命名時要遵循以下四條原則:1小結(jié)現(xiàn)在,讓我們來回顧一下知識點: 變量賦值:變量 = 數(shù)據(jù) 變量可以被多次賦值,每一次賦值替換原來的值。 變量的命名規(guī)則:由字母,數(shù)字,下劃線組成,不能以數(shù)字開頭。 命名時見名知意且使用駝峰命名法。小結(jié)現(xiàn)在,讓我們來回顧一下知識點:Python 基礎語法基礎數(shù)據(jù)類型02Python 基礎語法基礎數(shù)據(jù)類型02Python開發(fā)與財務應用課件財務數(shù)據(jù)如何存儲財務數(shù)據(jù)如何存儲

5、數(shù)據(jù)類型注意:不管是數(shù)字還是文字,在Python中都屬于數(shù)據(jù) 數(shù)值:主要用于存儲金額數(shù)據(jù),一般是浮點數(shù) 字符串:存儲科目名稱、公司名稱等等文本型數(shù)據(jù) 列表:是一種有序的集合,比如通訊錄列表 字典:多個有映射關系的數(shù)據(jù),可以存儲在一個字典里,比如科目及余額數(shù)據(jù)類型注意:不管是數(shù)字還是文字,在Python中都屬于數(shù)據(jù)算術運算符運算符描述實例+加 - 兩個對象相加a + b 輸出結(jié)果 16-減 - 得到負數(shù)或是一個數(shù)減去另一個數(shù)a - b 輸出結(jié)果 -4*乘 - 兩個數(shù)相乘或是返回一個被重復若干次的字符串a(chǎn) * b 輸出結(jié)果 60/除 - a除以bb / a 輸出結(jié)果 1.6666666666666

6、667%取余 - 返回除法的余數(shù)b % a 輸出結(jié)果 4*乘方 - 返回a的b次冪a * b 輸出結(jié)果 60466176假設變量a = 6, b = 10算術運算符運算符描述實例+加 - 兩個對象相加a + b 輸賦值運算符運算符描述實例=簡單的賦值運算符c = a + b 將 a + b 的運算結(jié)果賦值為c+=加法賦值運算符c += a 等效于 c = c + a-=減法賦值運算符c -= a 等效于 c = c - a*=乘法賦值運算符c *= a 等效于 c = c * a/=除法賦值運算符c /= a 等效于 c = c / a%=取模賦值運算符c %= a 等效于 c = c % a

7、*=冪賦值運算符c *= a 等效于 c = c * a假設變量a = 6, b = 10賦值運算符運算符描述實例=簡單的賦值運算符c = a + b比較運算符運算符描述實例=等于 - 比較對象是否相等(a = b)返回False!=不等于 - 比較兩個對象是否不相等(a != b)返回True大于 - 返回a是否大于b(a b)返回False小于 - 返回a是否小于b(a =大于等于 - 返回a是否大于等于b(a = b)返回False=小于等于 - 返回a是否小于等于b(a = b)返回True所有比較運算符返回1表示True,返回0表示False假設變量a = 6, b = 10比較運算

8、符運算符描述實例=等于 - 比較對象是否相等(a 邏輯運算符假設變量a = True, b = False運算符邏輯表達式描述實例anda and b布爾與 - 只有a與b都為True時,a and b才返回True,否則返回False(a and b)返回Falseora or b布爾或 - 如果a與b任意一個為True,a or b返回True,否則返回False(a or b)返回Truenotnot a布爾非 - 如果a為True,返回False。如果a為False,返回Truenot(a and b)返回True邏輯運算符假設變量a = True, b = False運算運算優(yōu)先級如

9、果一個公式里出現(xiàn)了多種運算符,運算符的計算是有先后順序的。下表對Python中運算符的優(yōu)先順序進行了總結(jié)(從最低優(yōu)先級到最高優(yōu)先級)。相同單元格內(nèi)的運算符從左至右(除了冪運算是從右至左)。運算符描述=賦值運算符or邏輯運算符或orand邏輯運算符與andnot x邏輯運算符非notin, not in, is, is not, , , =, !=, =比較運算符,成員運算符+, -加和減*, /, /, %乘,除,整除,取余*乘方運算優(yōu)先級如果一個公式里出現(xiàn)了多種運算符,運算符的計算是有先字符串的定義如果字符串內(nèi)部既包含 又包含 怎么辦?可以用轉(zhuǎn)義字符來標識,比如: 表示 ” 表示” n 表示

10、換行符 表示反斜杠 字符串是以單引號 或 雙引號 括起來的任意文本字符串的定義如果字符串內(nèi)部既包含 又包含 怎么辦?可字符串的常規(guī)操作字符串是一種字符的集合,集合中的每個字符都會有一個位置標識,我們稱為索引。字符串的常規(guī)操作字符串是一種字符的集合,集合中的每個字符都會字符串的常規(guī)操作假設變量a =“Hello”, b =“Python”運算符描述實例結(jié)果+字符串連接注意:只能將字符串與字符串拼接a + bHelloPython*重復輸出字符串a(chǎn) * 2HelloHello通過索引獲取字符串中字符a1e:截取字符串中的一部分(或者叫“切片”)a1:4ell字符串的常規(guī)操作假設變量a =“Hell

11、o”, b =“Py小結(jié)Python常見的基本數(shù)據(jù)類型有: 整型(int),浮點型(float),字符串(str)。Python的運算優(yōu)先級口訣: “從左往右看,括號優(yōu)先算,先乘除后加減,再比較,再邏輯”。小結(jié)Python常見的基本數(shù)據(jù)類型有:Python 基礎語法高級數(shù)據(jù)類型02Python 基礎語法高級數(shù)據(jù)類型02Python開發(fā)與財務應用課件列表listDemo = 現(xiàn)金, 銀行賬款, 應收金額listDemo = listDemo = 現(xiàn)金, 銀行賬款, 應收金額listDemo = 1000, 2000, 3000listDemo = 1000, 銀行賬款, True, 50, 10

12、0, 應收金額列表listDemo = 現(xiàn)金, 銀行賬款, 應索引listDemo = 現(xiàn)金, 銀行賬款, 應收金額列表中的每個元素都會有一個位置標識,我們稱為索引。012索引對應索引的值listDemo0listDemo1listDemo2索引listDemo = 現(xiàn)金, 銀行賬款, 應列表的計算操作符描述+拼接*重復獲取:截取列表的計算操作符描述+拼接*重復獲取:截取列表的操作操作符描述list.append(obj)在列表末尾添加新的元素list.insert(index,obj)將元素插入列表中指定的位置list.extend(seq)在列表末尾一次性追加另一個序列中的多個值(用新列表

13、擴展原來的列表)list.pop(index=-1)移除列表中的一個元素(默認最后一個元素),并且返回該元素的值list.remove(obj)移除列表中某個元素的第一個匹配項list.sort(cmp=None, key=None,reverse=Flase)對原列表進行排序(只能對相同類型的元素進行排序)列表的操作操作符描述list.append(obj)在列表末字典的定義dictionary = “1001” : “庫存現(xiàn)金” , “1002” : “銀行存款”, “1012” : “其他貨幣資金”我是一個元素我是元素的key我是元素的value字典的定義dictionary = “10

14、01” : “字典的特性key是唯一的字典的特性key是唯一的字典的操作操作符描述dictkey訪問字典里的值dictkey=修改值dictkey=添加鍵值對del dictkey刪除鍵值對del dict刪除字典dict.keys()以列表返回所有鍵dict.values()以列表返回所有值dict.items()返回所有鍵值對字典的操作操作符描述dictkey訪問字典里的值dict小結(jié)列表:是有序的,可以通過索引存取;值可以重復字典:是無序的,要通過鍵來獲取值;鍵是唯一的,值可重復 小結(jié)列表:Python 進階語法條件 分支語句的應用03Python 進階語法條件 分支語句的應用03Pyt

15、hon開發(fā)與財務應用課件if-else 條件判斷語句語法格式if 條件 :條件成立要做的事情else : 不滿足條件時要做的事情if-else 條件判斷語句語法格式if 條件 :多條件判斷if - elif - else語句語法格式if 條件1 :條件1 成立要做的事情elif 條件2 :條件2 成立要做的事情elif 條件3 :條件3 成立要做的事情else :以上條件都不滿足時要做的事情多條件判斷if - elif - elseif 條件1 :小結(jié)Python 用縮進來控制結(jié)構,代碼的縮進為4個空格if 后面要有空格 且判斷條件以冒號結(jié)尾elif 、else必須和 if 一起使用if 語句

16、執(zhí)行是自上而下判斷的,如果滿足某個條件,把該條件對應的語句執(zhí)行后,就不會再執(zhí)行剩下的elif/else小結(jié)Python 用縮進來控制結(jié)構,代碼的縮進為4個空格Python 進階語法循環(huán) 批量處理我們的數(shù)據(jù)03Python 進階語法循環(huán) 批量處理我們的數(shù)據(jù)03while 循環(huán)語句語法格式 while 條件 : 滿足條件時要執(zhí)行的代碼while 循環(huán)語句語法格式 while 條件 :for-in 循環(huán)語句語法格式for 變量 in 列表 : # in表達從列表中依次取值,又稱為遍歷 代碼塊 # 滿足條件時要執(zhí)行的代碼如果沒有下一個元素for-in 循環(huán)語句語法格式for 變量 in 列表 : br

17、eak 語句語句語法格式while 條件1 : 代碼塊 # 滿足條件時要執(zhí)行的代碼 if 條件2 : break # 當滿足條件2時終止循環(huán)for 變量 in 列表 : 代碼塊 # 滿足條件時要執(zhí)行的代碼 if 條件3 : break # 當滿足條件3時終止循環(huán)注意:break 只能用在循環(huán)中,除此以外不能單獨使用break 語句語句語法格式while 條件1 :for continue 語句語句語法格式while 條件1 : if 條件2 : continue # 當滿足條件2時跳過本次循環(huán),直接繼續(xù)下次循環(huán)。 代碼塊 # 滿足條件1時要執(zhí)行的代碼for 變量 in 列表 : if 條件3

18、: continue # 當滿足條件時跳過本次循環(huán),直接繼續(xù)下次循環(huán)。 代碼塊 # 滿足條件3時要執(zhí)行的代碼注意:contuinue 只能用在循環(huán)中,除此以外不能單獨使用continue 語句語句語法格式while 條件1 :f小結(jié)while循環(huán)是一種判斷型循環(huán)控制語句,只有當循環(huán)條件被打破時,循環(huán)才會終止for-in循環(huán)是一種遍歷型循環(huán),遍歷完序列中的每個元素后終止循環(huán)break語句是跳出循環(huán),continue是跳出本次循環(huán),進入下一次循環(huán)小結(jié)while循環(huán)是一種判斷型循環(huán)控制語句,只有當循環(huán)條件被Python 進階語法函數(shù) 讓我們的算法重復使用03Python 進階語法函數(shù) 讓我們的算法重

19、復使用03Python開發(fā)與財務應用課件type函數(shù)的調(diào)用過程:內(nèi)置函數(shù)Python提供了許多內(nèi)置函數(shù),比如print()、input()、round()等round函數(shù)的調(diào)用過程:abs()dict()help()min()setattr()all()dir()hex()next()slice()any()divmod()id()object()sorted()ascii()enumerate()input()oct()staticmethod()bin()eval()int()open()str()bool()exec()isinstance()ord()sum()bytearray()f

20、ilter()issubclass()pow()super()bytes()float()iter()print()tuple()callable()format()len()property()type()chr()frozenset()list()range()vars()classmethod()getattr()locals()repr()zip()compile()globals()map()reversed()_import_()complex()hasattr()max()round()delattr()hash()memoryview()set()小貼士實現(xiàn)的功能內(nèi)置函數(shù)無法幫

21、你完成,你也可以自己創(chuàng)建函數(shù)type函數(shù)的調(diào)用過程:內(nèi)置函數(shù)Python提供了許多內(nèi)置函自定義函數(shù) 菜名( 辣度,酸度, 麻度 ) : 菜品# 調(diào)用函數(shù)并傳遞參數(shù)pickledFrog (微辣,少酸,微麻)語法:def注意:函數(shù)名命名規(guī)范同變量的命名規(guī)范一致函數(shù)名稱pickledFrog 參數(shù)return返回值自定義函數(shù) 菜名( 辣度,酸度, 麻度 ) :小結(jié)函數(shù)可以被重復調(diào)用內(nèi)置函數(shù)可以直接調(diào)用自定義函數(shù)使用 def 進行函數(shù)定義 注意代碼塊的縮進return 語句的作用:結(jié)束函數(shù)調(diào)用、返回值函數(shù)的傳參方式:位置參數(shù)、關鍵字參數(shù)、默認參數(shù)小結(jié)函數(shù)可以被重復調(diào)用Python 進階語法模塊 讓已

22、編寫的代碼可以直接使用03Python 進階語法模塊 讓已編寫的代碼可以直接使用0Python開發(fā)與財務應用課件什么是模塊python中的每個python文件是一個模塊。每個python文件中,封裝類似功能的變量、函數(shù)、類型等等,可以被其他的python模塊通過import關鍵字引入以實現(xiàn)重復使用。什么是模塊python中的每個python文件是一個模塊。模塊引入語句第一種方式:import + 模塊名稱(如引用多個模塊,請用逗號(英文半角) , 隔開)示例:模塊引入語句第一種方式:模塊引入語句第二種方式:from 模塊名 import 方法名(或者 * )示例一:示例二:模塊引入語句第二種方

23、式:示例一:示例二:別名使用方式:import 模塊名 as 別名別名使用方式:import 模塊名 as 別名常見內(nèi)置模塊常見內(nèi)置模塊常見內(nèi)置模塊-random使用方式: import random random.函數(shù)名()常見方法: random()randint( 起始值, 結(jié)束值 )randrange( 起始值, 結(jié)束值 )常見內(nèi)置模塊-random使用方式: import ran常見內(nèi)置模塊-datetime使用方式: import datetime datetime.函數(shù)名()常見方法:datetime.datetime.now()datetime.date.today()常見內(nèi)置

24、模塊-datetime使用方式: import d財務常用第三方模塊財務常用第三方模塊小結(jié)模塊引入的2種方式:1)import 模塊名2)from 模塊名 import 方法名或者 *常用內(nèi)置模塊 random 和 datetime常用第三方模塊Numpy、Matplotlib、Pandas小結(jié)模塊引入的2種方式:Pandas 基礎Pandas 數(shù)據(jù)結(jié)構04Pandas 基礎Pandas 數(shù)據(jù)結(jié)構04panel+data+analysispanel+data+analysisimport pandas as pdPandas是Python第三方庫,提供高性能易用數(shù)據(jù)類型和分析工具,常用于解決數(shù)

25、據(jù)分析任務。代碼引入規(guī)則模塊名自定義簡稱pandas介紹import pandas as pdPandas是Ppandas介紹Pandas包含兩種數(shù)據(jù)類型: DataFrame和Series。Series相當于excel中任意一列數(shù)據(jù)DataFrame相當于一張完整的Excel表格pandas介紹Pandas包含兩種數(shù)據(jù)類型: DataFrDataFrame數(shù)據(jù)結(jié)構行索引數(shù)據(jù)數(shù)據(jù)結(jié)構列索引DataFrame數(shù)據(jù)結(jié)構行索引數(shù)據(jù)數(shù)據(jù)結(jié)構列索引DataFrame的定義定義規(guī)則:pd.DataFrame(數(shù)據(jù), columns = 列表,index = 列表)數(shù)據(jù):多行數(shù)據(jù)組成的列表列索引:列表,缺省

26、默認0開始行索引:列表缺省默認0開始DataFrame的定義定義規(guī)則:pd.DataFrame(DataFrame的屬性屬性說明使用方法運行結(jié)果index獲取行索引(行編號)df.index列表 columns獲取列索引(列的title名稱)df.columns列表 values獲取數(shù)據(jù)內(nèi)容df.values列表列表,列表,列表DataFrame的屬性屬性說明使用方法運行結(jié)果index獲Series數(shù)據(jù)結(jié)構數(shù)據(jù)結(jié)構索引數(shù)據(jù)Series數(shù)據(jù)結(jié)構數(shù)據(jù)結(jié)構索引數(shù)據(jù)Series的定義定義規(guī)則:pd.Series( 數(shù)據(jù)列, 索引列 ) 數(shù)據(jù)列:可以由列表、字典等作為參數(shù)來創(chuàng)建索引列:可用列表自定義,必

27、須與數(shù)據(jù)列的個數(shù)匹配。缺省默認從0開始Series的定義定義規(guī)則:pd.Series( 數(shù)據(jù)列, 小結(jié)知識點回顧: Series數(shù)據(jù)結(jié)構,包括索引列和數(shù)據(jù),相當于excel的一列數(shù)據(jù)。 DataFrame數(shù)據(jù)結(jié)構,包含行索引,列索引和數(shù)據(jù),相當于一頁excel的內(nèi)容。 DataFrame 有三種屬性:index、columns、values分別可以獲取行號、列名、數(shù)據(jù)內(nèi)容。小結(jié)知識點回顧:Pandas 基礎Pandas 文件操作04Pandas 基礎Pandas 文件操作04Pandas讀取Excel函數(shù)名稱及必要參數(shù):read_excel ( io, sheet_name=0, index_

28、col=None, converters=None )參數(shù)解釋實例io文件路徑D:/python/學生信息.xlsx 或 rD:python學生信息.xlsxsheet_name = 0導入的sheet頁1.sheet name = 0,默認導入第一頁, sheet序號從0開始2.sheet name = 表名,也可以直接輸入表名3.sheet name = Sheet2,代表第2個sheet,S要大寫index_col = None索引號1.默認數(shù)據(jù)不帶行索引號,pandas自動分配從0開始的索引號2.index_col = 0,以第一列作為行索引converters強制規(guī)定列數(shù)據(jù)類型con

29、verters = 列名: str, 列名: float Pandas讀取Excel函數(shù)名稱及必要參數(shù):參數(shù)解釋實例iPandas寫入Excel函數(shù)名稱及必要參數(shù):to_excel ( excel_writer, sheet_name = Sheet1, index=None)參數(shù)解釋實例excel_writer文件路徑D:/python/學生信息.xlsx或 rD:python學生信息.xlsxsheet_name = Sheet1要寫入的excel的sheet頁名稱1.默認sheet名是Sheet12.sheet_name = 我想要的sheet名稱index = True是否輸出索引 i

30、ndexindex=True,默認輸出index=None / False,不輸出Pandas寫入Excel函數(shù)名稱及必要參數(shù):參數(shù)解釋實例e小結(jié)Pandas讀取Excel用read_excel文件路徑要用“/”,若用“”路徑前要加“r”sheet_name 有三種指定方式Pandas寫入Excel用to_excelsheet_name 有兩種指定方式多次寫入同一個文件都是覆蓋小結(jié)Pandas讀取Excel用read_excelPandas 基礎數(shù)據(jù)讀取與計算04Pandas 基礎數(shù)據(jù)讀取與計算04直接索引df 直接索引,有以下幾種方式:獲取列選取一列 df列名選取多列 df列名1, 列名2獲

31、取行按位置選取連續(xù)的行 dfn:m直接索引df 直接索引,有以下幾種方式:條件索引選取某列滿足一定條件的行: df(df列1 = 條件) 條件索引,可以通過條件在被選擇列中篩選出結(jié)果為True的記錄,常見的形式有:選取多列滿足一定條件的行:df(df列1 = 條件1) & (df列2 = 條件2) 注意:可以使用 &(并且)、|(或者) 操作符條件索引選取某列滿足一定條件的行: df(df列1索引器原始索引 & 自定義索引在Pandas兩種數(shù)據(jù)結(jié)構( Series和DataFrame )中,原始索引和自定義索引并存。自定義行名自定義列名1自定義列名2a張三25b李四28c王五270 1012P

32、andas有2種索引應用于DataFrame,可以幫助你快速定位到你想提取的行或列索引器原始索引 & 自定義索引在Pandas兩種數(shù)據(jù)結(jié)構( loc索引器locindex,column loc索引器內(nèi)只能使用自定義索引,如果數(shù)據(jù)中沒有自定義索引名,則索引名等于原始索引。根據(jù)index和column進行選取,常見形式有以下幾種:選取一行 df.loc行l(wèi)oc索引器locindex,column 小結(jié)直接索引可獲取一列,多列,連續(xù)行的數(shù)據(jù)布爾索引可獲取列滿足條件的數(shù)據(jù),多條件要用括號括起來loc索引器可獲取一行,多行多列組合,列滿足條件,連續(xù)行列的數(shù)據(jù)范圍:dfn:m前閉后開,df.locn:m全

33、閉合小結(jié)直接索引可獲取一列,多列,連續(xù)行的數(shù)據(jù)Pandas 基礎數(shù)據(jù)連接與合并04Pandas 基礎數(shù)據(jù)連接與合并04數(shù)據(jù)合并-concat語法格式pd.concat(objs, axis=0, join=outer, join_axes=None, ignore_index=False, sort=True)參數(shù)解釋objs連接對象,例如df1, df2axis軸向,0代表縱向連接,1代表橫向連接,默認是0join連接方式,共有inner, outer,默認是outerignore_index重建索引,默認False不重建,ignore_index=True,重建索引,重建后會把自定義索引也

34、刪除sort默認為True,將合并的數(shù)據(jù)進行排序,設置為False可以提高性能數(shù)據(jù)合并-concat語法格式pd.concat(objs,數(shù)據(jù)連接-merge語法格式pd.merge(left, right, how=inner, on=None, left_on=None, right_on=None, sort=True) 參數(shù)功能left 和 right要連接的兩個不同的DataFrameHow連接方式,有l(wèi)eft、right、outer、inner,默認為inner內(nèi)連接On指的是用于連接的列索引名稱,必須同時存在于左右兩個DataFrame中,如果沒有指定且其他參數(shù)也沒有指定,則以兩

35、個DataFrame列名交集作為連接鍵left_on左側(cè)DataFrame中用于連接鍵的列名,這個參數(shù)左右列名不同但代表的含義相同時非常的有用right_on右側(cè)DataFrame中用于連接鍵的列名Sort將合并的數(shù)據(jù)進行排序,默認為True,設置為False可以提高性能數(shù)據(jù)連接-merge語法格式pd.merge(left, r小結(jié)知識點回顧: concat可以實現(xiàn)橫向/縱向拼接merge只能橫向連接。 concat可以操作多張表,merge只能操作兩張表。 concat只能單純的表拼接,merge可以過濾進行拼接。小結(jié)知識點回顧:Pandas 基礎數(shù)據(jù)透視04Pandas 基礎數(shù)據(jù)透視04

36、語法格式 參數(shù)解釋實例index=None數(shù)據(jù)透視表的行,必有index=月columns =None數(shù)據(jù)透視表的列columns=年values= None數(shù)據(jù)透視表的值,默認所有數(shù)字列values=營業(yè)收入,凈 利 潤aggfunc=mean值計算方式默認是mean平均值, sum, lenfill_value=NoneNaN用什么填充默認不填充,可以用0填充NaNfill_value=0margins=False是否匯總margins=True時匯總margins_name=All匯總欄命名margins_name=Totaldf.pivot_table( index=None, col

37、umns=None, values=None, aggfunc=mean, fill_value=None, margins=False, margins_name=All )語法格式 參數(shù)解釋實例index=None數(shù)據(jù)透視表的行,小結(jié)知識點回顧: pivot_table函數(shù)可實現(xiàn)數(shù)據(jù)透視分析。 pivot_table函數(shù)使用必須要指定透視的行,即index。 透視若需要匯總必須傳參數(shù)margins=True。小結(jié)知識點回顧:數(shù)據(jù)采集與清洗數(shù)據(jù)接口05數(shù)據(jù)采集與清洗數(shù)據(jù)接口05Python開發(fā)與財務應用課件案例講解案例:使用數(shù)據(jù)接口,采集上市公司盈利能力數(shù)據(jù)步驟一:了解接口規(guī)則步驟二:運行示

38、范代碼步驟三:改寫代碼案例講解案例:使用數(shù)據(jù)接口,采集上市公司盈利能力數(shù)據(jù)數(shù)據(jù)接口-知識點總結(jié)1、什么是數(shù)據(jù)接口?2、數(shù)據(jù)接口對比數(shù)據(jù)庫在數(shù)據(jù)采集上的優(yōu)勢(提供方整理過數(shù)據(jù),比較規(guī)范與完整)3、數(shù)據(jù)接口的使用方法1)查看接口的網(wǎng)站或文檔2)試運行示范代碼3)根據(jù)自己的需求改寫示范代碼4、改寫代碼的重點:數(shù)據(jù)接口的參數(shù)( 重點)數(shù)據(jù)接口-知識點總結(jié)1、什么是數(shù)據(jù)接口?數(shù)據(jù)采集與清洗網(wǎng)頁爬蟲05數(shù)據(jù)采集與清洗網(wǎng)頁爬蟲05Python開發(fā)與財務應用課件爬蟲的概念如果你既沒有數(shù)據(jù)庫權限,又拿不到網(wǎng)絡數(shù)據(jù)接口,數(shù)據(jù)爬蟲可能是你最后的手段。優(yōu)勢:“所見即所得”,不需要數(shù)據(jù)擁有者提供權限(數(shù)據(jù)庫或接口)劣勢

39、:數(shù)據(jù)有限(僅網(wǎng)頁上展示的)、網(wǎng)站反爬機制越來越完善爬蟲的概念如果你既沒有數(shù)據(jù)庫權限,又拿不到網(wǎng)絡數(shù)據(jù)接口,數(shù)據(jù)案例講解案例:使用網(wǎng)頁爬蟲,從新浪財經(jīng)網(wǎng)站上采集上市公司利潤表數(shù)據(jù)步驟一:查看數(shù)據(jù)所在的網(wǎng)頁步驟二:編寫代碼爬取網(wǎng)頁內(nèi)容步驟三:根據(jù)爬取網(wǎng)頁內(nèi)容篩選出我們要的結(jié)果案例講解案例:使用網(wǎng)頁爬蟲,從新浪財經(jīng)網(wǎng)站上采集上市公司利潤網(wǎng)頁爬蟲-知識點總結(jié)1、什么是網(wǎng)頁爬蟲?(沒有數(shù)據(jù)庫權限與數(shù)據(jù)接口時最后的手段)2、爬蟲的應用場景廣泛3、爬蟲不難,爬取網(wǎng)頁最少僅需要 3 行代碼4、爬蟲的難點與重點在于對網(wǎng)頁或網(wǎng)址的分析網(wǎng)頁爬蟲-知識點總結(jié)1、什么是網(wǎng)頁爬蟲?(沒有數(shù)據(jù)庫權限與數(shù)數(shù)據(jù)采集與清洗缺失

40、值處理05數(shù)據(jù)采集與清洗缺失值處理05Python開發(fā)與財務應用課件數(shù)據(jù)清洗的意義采集到的數(shù)據(jù),可能存在各種各樣的情況: 1)很多空白 2)很多重復 3)很“奇怪”比如“身份證號”列上出現(xiàn)7位數(shù)數(shù)據(jù)可能存在:缺失值、重復值、異常值,將對后續(xù)的數(shù)據(jù)分析、預測產(chǎn)生影響數(shù)據(jù)清洗的意義采集到的數(shù)據(jù),可能存在各種各樣的情況:數(shù)據(jù)可能知識點小結(jié)數(shù)據(jù)可能存在:缺失、重復、異常數(shù)據(jù)清洗之前,要對數(shù)據(jù)(表格)有個初步認識,大致的印象數(shù)據(jù)太大,Excel打不開,就用Python: 1)head 查看數(shù)據(jù)頭幾行,了解數(shù)據(jù)的列意義(維度) 2)count 查看數(shù)據(jù)有幾行,了解數(shù)據(jù)的量知識點小結(jié)數(shù)據(jù)可能存在:缺失、重復

41、、異常Python開發(fā)與財務應用課件缺失值的處理方法1、查找 找到表格中每處空白單元格2、填充 把空白單元格填上3、刪除 刪掉空白單元格所在的行、或所在的列缺失值的處理方法1、查找 找到表格中每處空白單元格數(shù)據(jù)采集與清洗重復值處理05數(shù)據(jù)采集與清洗重復值處理05Python開發(fā)與財務應用課件重復值的概念顧名思義,重復值一般泛指數(shù)據(jù)中重復的數(shù)據(jù)行如何產(chǎn)生的?業(yè)務系統(tǒng)發(fā)生異常,重復生成數(shù)據(jù)數(shù)據(jù)采集出現(xiàn)意外情況,比如從紙質(zhì)表格錄入數(shù)據(jù)到Excel,忘記自己錄到哪一行,個別記錄行出現(xiàn)多錄入一次的情況重復值的概念顧名思義,重復值一般泛指數(shù)據(jù)中重復的數(shù)據(jù)行知識點小結(jié)缺失值的概念:空白單元格處理方式:刪除缺

42、失值所在的行、所在的列重復值的概念:重復的行處理方式:刪除重復的行無論刪除缺失值或重復值,都需要考慮業(yè)務實際情況知識點小結(jié)缺失值的概念:空白單元格無論刪除缺失值或重復值,都數(shù)據(jù)采集與清洗異常值處理05數(shù)據(jù)采集與清洗異常值處理05Python開發(fā)與財務應用課件異常值檢測1、基于正態(tài)分布的檢測方法3準則 方法:處于3個標準差之外的數(shù)值為異常值2、基于中位數(shù)的四分位檢測箱型圖3、基于機器學習的檢測方法 如:聚類分析(散點圖)異常值檢測1、基于正態(tài)分布的檢測方法3準則異常值檢測箱型圖我們只需要直接應用看生成出來的圖是否有超出上下界的點即能檢測出異常值(也稱離群值)異常值檢測箱型圖我們只需要直接應用異常

43、值的處理方法1、將異常值刪除,比如一個人的年齡是異常值,那么就把這個人從數(shù)據(jù)中刪除 df_clear = df.drop(dfdf 列名判斷大于或小于某值.index)2、將異常值當作缺失值進行替換,用0或者平均值進行替換異常值的處理方法1、將異常值刪除,比如一個人的年齡是異常值,知識點小結(jié)異常值:不符合正態(tài)分布、不符合業(yè)務邏輯的數(shù)據(jù)異常值的影響: 1)影響我們正常的分析結(jié)果 2)有時是客觀事實的體現(xiàn),具有預警作用異常值的檢測:利用中位數(shù)取代均值;以中位數(shù)為基礎的箱型圖知識點小結(jié)異常值:不符合正態(tài)分布、不符合業(yè)務邏輯的數(shù)據(jù)數(shù)據(jù)可視化Matplotlib初級應用06數(shù)據(jù)可視化Matplotlib

44、初級應用06什么是數(shù)據(jù)可視化? 數(shù)據(jù)可視化,是指將大型數(shù)據(jù)集中的數(shù)據(jù)以圖形圖像形式表示,并利用數(shù)據(jù)分析和開發(fā)工具發(fā)現(xiàn)其中未知信息的處理過程。什么是數(shù)據(jù)可視化? 數(shù)據(jù)可視化,是指將大型數(shù)據(jù)集Python開發(fā)與財務應用課件 Matplotlib是一個Python的第三方2D繪圖庫。通過Matplotlib,我們僅需要幾行代碼,便可生成繪圖。一般可繪制折線圖、散點圖、柱狀圖、餅圖、直方圖等等。什么是Matplotlib? Matplotlib是一個Python的第三方了解繪制步驟繪圖步驟:1. 創(chuàng)建一個圖紙(figure)2. 在圖紙上創(chuàng)建一個或多個繪圖(plotting)區(qū)域(坐標系/軸3. 在p

45、lotting區(qū)域上描繪點、線等了解繪制步驟繪圖步驟:按步驟繪制圖像# 繪制一個 4 * 3 的圖紙plt.figure(figsize=(4, 3)# 設定數(shù)值x = -1, 0, 1, 2y = -1, 0, 1, 2# 以折線圖展示plt.plot(x, y)# 坐標軸顯示范圍plt.xlim(-1, 2)plt.ylim(-1, 2)# 坐標軸名稱plt.xlabel(X)plt.ylabel(Y)按步驟繪制圖像# 繪制一個 4 * 3 的圖紙數(shù)據(jù)可視化Matplotlib高級應用06數(shù)據(jù)可視化Matplotlib高級應用06Python開發(fā)與財務應用課件導入excel數(shù)據(jù)# 讀取 x

46、ls 文件df = pd.read_excel(銷售信息.xls)# 展示文件前5行df.head()導入excel數(shù)據(jù)# 讀取 xls 文件根據(jù)提示繪制圖像# 繪制直方圖基本樣式#(內(nèi)容,邊框顏色,圖例名稱)plt.hist(dfage, edgecolor=k, label=人數(shù))# 顯示圖像名稱plt.title(年齡分布直方圖)# 顯示圖例plt.legend()根據(jù)提示繪制圖像# 繪制直方圖基本樣式將圖像一同顯示# 繪制畫布plt.figure(figsize=(16,12)# 繪制第一個圖像ax1 = plt.subplot(221)ax1 = plt.hist(dfage, ed

47、gecolor=k, label=人數(shù))ax1 = plt.title(年齡分布直方圖)ax1 = plt.legend()將圖像一同顯示# 繪制畫布數(shù)據(jù)可視化Pyecharts初級應用06數(shù)據(jù)可視化Pyecharts初級應用06Pyecharts簡介Echarts是一個由百度開源的數(shù)據(jù)可視化框架,憑借著良好的交互性,精巧的圖表設計,得到了眾多開發(fā)者的認可。而Python是門富有表達力的語言,很適合用于數(shù)據(jù)處理。當數(shù)據(jù)分析遇上數(shù)據(jù)可視化時,pyecharts誕生了。Pyecharts簡介Echarts是一個由百度開源的數(shù)據(jù)繪制折線圖# 所需繪制圖形的樣式line = Line()# 創(chuàng)建X軸并

48、導入數(shù)據(jù)line.add_xaxis(x_data)# 創(chuàng)建Y軸并導入數(shù)據(jù)line.add_yaxis(線下銷售量, y1_data)# 將圖形在notebook中展示line.render_notebook()繪制折線圖# 所需繪制圖形的樣式繪制散點圖# 所需繪制圖形的樣式scatter = Scatter()# 創(chuàng)建X軸并導入數(shù)據(jù)scatter.add_xaxis(x_data)# 創(chuàng)建Y軸并導入數(shù)據(jù)scatter.add_yaxis(線上銷售量, y_data)# 將圖形在notebook中展示scatter.render_notebook()繪制散點圖# 所需繪制圖形的樣式數(shù)據(jù)可視化P

49、yecharts高級應用06數(shù)據(jù)可視化Pyecharts高級應用06給圖像添加標題# 創(chuàng)建標題bar.set_global_opts(title_opts = opts.TitleOpts(title = Bar-基本示例)# 將圖形在notebook中展示bar.render_notebook()給圖像添加標題# 創(chuàng)建標題將圖像一同顯示將圖像一同顯示Python財務會計應用工資計算07Python財務會計應用工資計算07應用財會知識職工薪酬職工工資、獎金、津貼和補貼職工福利費社會保險費工會經(jīng)費和職工教育經(jīng)費非貨幣性福利因解除與職工的勞動關系給予的補償住房公積金其他與獲得職工提供的服務相關的支

50、出應用財會知識職工薪酬職工工資、獎金、津貼和補貼職工福利費社會應用案例引入pandas模塊導入 數(shù)據(jù)計算應發(fā)工資計算社保及公積金計算應納稅所得額創(chuàng)建自定義函數(shù)計算應納稅額計算實發(fā)工資應用案例引入pandas模塊導入 數(shù)據(jù)計算應發(fā)工Python財務會計應用職工薪酬分析07Python財務會計應用職工薪酬分析07應用財會知識職工薪酬稅前扣除標準職工福利費不超過工資薪金總額14%的部分準予扣除職工教育經(jīng)費不超過工資薪金總額8%的部分準予扣除,超過部分結(jié)轉(zhuǎn)以后年度扣除工會經(jīng)費一般按工資總額的2%計提,不超過工資薪金總額2%的部分準予扣除應用財會知識職工薪酬職工福利費不超過工資薪金總額14%的部分應用案

51、例工費經(jīng)費計算按部門分析職工薪酬按職工薪酬項目 分析職工薪酬應用案例工費經(jīng)費計算按部門分析職工薪酬按職工薪酬項目 Python財務會計應用收入與發(fā)票核對07Python財務會計應用收入與發(fā)票核對07實現(xiàn)步驟條件與問題思路條件:收入記賬憑證、開票數(shù)據(jù)問題:收入與發(fā)票進行校對,查找差異查找核算系統(tǒng)的收入數(shù)據(jù)與開票系統(tǒng)的開票數(shù)據(jù)之間的差異時,我們可以先分別對兩個系統(tǒng)的數(shù)據(jù)按客戶進行匯總,再從客戶維度比較每一個客戶兩個系統(tǒng)之間數(shù)據(jù)的差異。實現(xiàn)步驟條件與問題思路條件:收入記賬憑證、開票數(shù)據(jù)查找核算系應用案例引入模塊導入數(shù)據(jù)選擇開票收入憑證選擇未作廢發(fā)票數(shù)據(jù)通過客戶維度比較數(shù)據(jù)差異差異額不為0的客戶輸出應

52、用案例引入模塊導入數(shù)據(jù)選擇開票收入憑證選擇未作廢發(fā)票數(shù)據(jù)通Python財務會計應用固定資產(chǎn)折舊07Python財務會計應用固定資產(chǎn)折舊07應用財會知識固定資產(chǎn)折舊折舊方法年限平均法、工作量法、雙倍余額遞減法、年數(shù)總和法折舊范圍應計提折舊的固定資產(chǎn)正常使用的固定資產(chǎn)因大修理而停用的固定資產(chǎn)未使用、不需用的固定資產(chǎn)不計提折舊的固定資產(chǎn)已提足折舊仍繼續(xù)使用的固定資產(chǎn)處于更新改造過程停止使用的固定資產(chǎn)應用財會知識固定資產(chǎn)折舊折舊方法年限平均法、工作量法、雙倍余應用案例引入模塊導入 數(shù)據(jù)計算已折舊月數(shù)計算剩余折舊月數(shù)計算當月折舊及轉(zhuǎn)出金額計算固定資產(chǎn)賬面價值應用案例引入模塊導入 數(shù)據(jù)計算已折舊月數(shù)計算剩

53、余Python管理會計應用貨幣時間價值08Python管理會計應用貨幣時間價值08應用案例飛魚公司打算投資一芯片項目,根據(jù)投資協(xié)議,各個階段投資情況如下:2021-01-01:投資20000萬元2021-05-01:投資50000萬元2021-08-12:投資30000萬元那么,若預計投資回報率為8%,到2022年01月01日時,飛魚公司該項目投資終值是多少?應用案例飛魚公司打算投資一芯片項目,根據(jù)投資協(xié)議,各個階段投應用案例引入pandas模塊變量定義基礎數(shù)據(jù)構造日期格式化計算間隔天數(shù)計算折線系數(shù)創(chuàng)建TVM函數(shù)計算終值應用案例引入pandas模塊變量定義基礎數(shù)據(jù)構造日期格式化計Python管

54、理會計應用項目投資決策08Python管理會計應用項目投資決策08應用案例卡卡公司計劃引入新生產(chǎn)線,項目總投資2000萬元,建設期2年,第1年年初投資1200萬元,第二年年初投資800萬元。項目投產(chǎn)后,預計每年年末銷售收入、付現(xiàn)成本及折舊與攤銷如表3-1所示??ü具m用的企業(yè)所得稅稅率為15%,項目預期投資回報率為8%。請評估卡卡公司該投資計劃是否可行。應用案例卡卡公司計劃引入新生產(chǎn)線,項目總投資2000萬元,建應用案例引入pandas模塊導入 數(shù)據(jù)計算營業(yè)利潤計算所得稅費用計算稅后營業(yè)利潤計算現(xiàn)金凈流量計算折現(xiàn)系數(shù)計算凈現(xiàn)值應用案例引入pandas模塊導入 數(shù)據(jù)計算營業(yè)利Python管理會

55、計應用本量利分析08Python管理會計應用本量利分析08應用案例運動鞋市場售價大約為100元/雙,預估每雙運動鞋原材料、人工成本等變動成本為50元,預估房租、機器設備等固定成本為100000元/月,推算銷售量為3000雙/月。請問:運動鞋的單位邊際貢獻、月銷售額、變動成本、月邊際貢獻、月營業(yè)利潤分別是多少?應用案例運動鞋市場售價大約為100元/雙,預估每雙運動鞋原材應用案例引入pandas模塊定義本量利函數(shù)賦值計算應用案例引入pandas模塊定義本量利函數(shù)賦值計算Python管理會計應用標準成本差異分析08Python管理會計應用標準成本差異分析08應用管會知識標準成本構成直接材料標準成本單

56、位產(chǎn)品的標準用量材料的標準單價直接人工標準成本單位產(chǎn)品的標準工時小時標準工資率制造費用標準成本單位產(chǎn)品的標準工時等制造費用標準分配率標準成本差異價格差異實際用量(實際價格標準價格)用量差異(實際用量標準用量)標準價格應用管會知識標準成本構成直接材料標準成本單位產(chǎn)品的標準用量應用管會知識直接材料 成本差異 直接材料價格差異實際耗用量(實際單價標準單價) 直接材料數(shù)量差異(實際耗用量標準耗用量)標準單價直接人工 成本差異 直接人工工資率差異實際工時(實際工資率標準工資率) 直接人工效率差異(實際工時標準工時)標準工資率變動制造 費用差異 變動制造費用耗費差異實際消耗量(實際分配率標準分配率) 變動

57、制造費用效率差異(實際消耗量標準消耗量)標準分配率應用管會知識直接材料 成本差異 直接材料價格差異實應用案例案例:北京加旺制衣廠有限公司3月的預算損益與實際損益對比、單位產(chǎn)品標準成本數(shù)據(jù)與實際成本數(shù)據(jù)表如下圖。請進行標準成本差異分析(直接材料、直接人工、變動制造費用差異分析)。項目預算數(shù)實際數(shù)差異銷售量(件)500500單售額90000095000050000變動成本53100058830057300邊際貢獻369000361700-7300變動制造費用2345002434008900營業(yè)利潤134500118300-16200應用案例案例:北京加旺制衣廠有限公司3月的預算損益與實際損益應用案例引入pandas 模塊導入 數(shù)據(jù)計算實際與標準成本的差異計算價差和量差計算實際銷量的差異計算差異總額合計數(shù)應用案例引入pandas 模塊導入 數(shù)據(jù)計算實Python管理會計應用固定預算與彈性預算08Python管理會計應用固定預算與彈性預算08應用管會知識項目固定預算彈性預算概念以預算期內(nèi)正常的、最可能實現(xiàn)的某一業(yè)務量水平為固定基礎,不考慮可能發(fā)生的變動的預算編制方法。企業(yè)在分析業(yè)務量與預算項目之間數(shù)量依存關系的基礎上,分別確定不同

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論