
















[摘 要]近年來,隨著信息技術(shù)的迅猛發(fā)展,人工智能、大數(shù)據(jù)、Python等廣泛應(yīng)用于各行各業(yè),傳統(tǒng)的財(cái)務(wù)工作將逐漸被智能會(huì)計(jì)等所替代,并陸續(xù)滲透到財(cái)務(wù)管理的各個(gè)領(lǐng)域。本文首先指出傳統(tǒng)財(cái)務(wù)分析方法已不能適應(yīng)數(shù)據(jù)為王的時(shí)代需求;其次指出Python語言是目前最接近人類自然語言的計(jì)算機(jī)編程語言,該技術(shù)的問世恰好能夠解決傳統(tǒng)財(cái)務(wù)分析存在的問題;最后重點(diǎn)介紹Python在財(cái)務(wù)數(shù)據(jù)采集、數(shù)據(jù)清洗、數(shù)據(jù)可視化與財(cái)務(wù)數(shù)據(jù)分析方面的應(yīng)用。
[關(guān)鍵詞]Python;大數(shù)據(jù);數(shù)據(jù)采集;財(cái)務(wù)分析
doi:10.3969/j.issn.1673-0194.2024.17.015
[中圖分類號(hào)]F275 [文獻(xiàn)標(biāo)識(shí)碼]A [文章編號(hào)]1673-0194(2024)17-0050-05
1" " "前 言
信息技術(shù)高速發(fā)展,預(yù)計(jì)2025年全球數(shù)據(jù)量將達(dá)到175ZB。ZB是多大的單位?據(jù)說1ZB電影的時(shí)長(zhǎng)等同一天24小時(shí)不停播放356萬年。這說明當(dāng)今時(shí)代背景下,數(shù)據(jù)增長(zhǎng)的爆炸性決定了對(duì)數(shù)據(jù)進(jìn)行保存、傳輸以及處理是非常大的工程問題。因此,如果單純利用傳統(tǒng)的數(shù)據(jù)采集、分析方法,效率將是非常低下的。
2" " "Python大數(shù)據(jù)簡(jiǎn)介
Python語言是目前最接近人類自然語言的計(jì)算機(jī)編程語言。Python語言解釋器的全部代碼都是開源的,可以在Python語言的主網(wǎng)站上(https:// Python.org/)自由下載,而且在眾多大數(shù)據(jù)處理技術(shù)方面,它具有很多優(yōu)勢(shì)。
2.1" "語言簡(jiǎn)潔,容易入門
Python語言的代碼行數(shù)比其他語言的少1/10~1/5,
但這不影響它們實(shí)現(xiàn)相同的功能程序。這種簡(jiǎn)潔的代碼行數(shù)可以減少程序錯(cuò)誤和開發(fā)周期。
2.2" "多語言集成,生態(tài)豐富
在使用Python編程時(shí),還可以將C語言等其他編程語言封裝后以Python語言方式使用,這就集成了多種語言,既可以擴(kuò)大Python計(jì)算生態(tài)規(guī)模,還能提高Python執(zhí)行程序的速度。
2.3" "使用方便[1]
Python是一種不同部門的業(yè)務(wù)人員經(jīng)過簡(jiǎn)單的培訓(xùn)就可以進(jìn)行數(shù)據(jù)分析工作的非常流行的語言。所以對(duì)于非計(jì)算機(jī)專業(yè)出身的大數(shù)據(jù)與會(huì)計(jì)專業(yè)學(xué)生、財(cái)務(wù)人員來說,可以借助該語言來提高工作學(xué)習(xí)效率。
3" " "Python數(shù)據(jù)采集、數(shù)據(jù)清洗、數(shù)據(jù)可視化和數(shù)據(jù)分析在財(cái)務(wù)分析中的應(yīng)用
財(cái)務(wù)分析通常對(duì)企業(yè)的盈利能力、償債能力、營(yíng)運(yùn)能力、發(fā)展能力以及橫向比較等進(jìn)行分析,本文將通過Python來計(jì)算幾種能力的指標(biāo),并對(duì)指標(biāo)的計(jì)算結(jié)果進(jìn)行財(cái)務(wù)分析。
3.1" "Python數(shù)據(jù)采集
一個(gè)完整的數(shù)據(jù)分析流程大致分為三步:數(shù)據(jù)采集、數(shù)據(jù)處理和數(shù)據(jù)可視化。在實(shí)際工作中,數(shù)據(jù)采集和數(shù)據(jù)處理所占據(jù)的時(shí)間遠(yuǎn)遠(yuǎn)超過數(shù)據(jù)可視化。同時(shí),財(cái)務(wù)指標(biāo)的計(jì)算和分析需要財(cái)務(wù)數(shù)據(jù)。因此,財(cái)務(wù)數(shù)據(jù)的采集是財(cái)務(wù)分析的基礎(chǔ),是非常重要的環(huán)節(jié)。
本環(huán)節(jié)可以使用數(shù)據(jù)接口來采集上市公司的數(shù)據(jù)。首要的是必須了解數(shù)據(jù)接口規(guī)則。接口提供方證券寶的官方網(wǎng)站為http://baostock.com/。證券寶是一個(gè)免費(fèi)開放的證券數(shù)據(jù)平臺(tái),它能提供大量準(zhǔn)確完整的證券歷史行情數(shù)據(jù)、上市公司財(cái)務(wù)數(shù)據(jù)等。通過Python ApI獲取證券數(shù)據(jù)信息,滿足量化交易投資者、數(shù)據(jù)金融愛好者等數(shù)據(jù)需求。
假設(shè)需要季頻盈利能力指標(biāo),可通過API接口獲取,通過設(shè)置參數(shù)獲取對(duì)應(yīng)年份、季度數(shù)據(jù),提供近三年數(shù)據(jù),返回的類型為pandas的DataFrame類型。
3.2" "Python數(shù)據(jù)清洗
大多數(shù)情況下,我們所接觸到的大量數(shù)據(jù)可能存在缺失、重復(fù)、異常,這會(huì)導(dǎo)致數(shù)據(jù)無法直接進(jìn)行分析。如果將直接獲取的數(shù)據(jù)拿來分析,那將會(huì)影響數(shù)據(jù)的準(zhǔn)確性,因此,我們需要對(duì)數(shù)據(jù)進(jìn)行清洗加工。
3.2.1" "缺失值的處理
首先,我們需要讀取一個(gè)存在缺失值的數(shù)據(jù)表。
操作如下:
Import pandas as pd
Data=pd.read_excel(‘通信行業(yè)上市公司成為世界(數(shù)據(jù)清洗與加工).xslx’)
Data.head()
代碼運(yùn)行如表1。
其次,根據(jù)需求刪除或填充缺失值。刪除缺失值會(huì)用到dropna,該詞中的na指的是缺失值,這個(gè)是Python中的固定寫法。若寫成dropna(),則表示刪除含有缺失值的行。填充缺失值會(huì)用到fillna,如果寫成fillna(0),則表示用0來填充缺失值,括號(hào)內(nèi)的數(shù)值就表示填充的值。
3.2.2" "重復(fù)值的處理
首先,需要讀取一個(gè)存在重復(fù)值的數(shù)據(jù)。其次,刪除數(shù)據(jù)表中的重復(fù)行。這個(gè)操作需要用到drop_duplicates。drop_duplicates()表示刪除重復(fù)行,也表示默認(rèn)保留重復(fù)的第一條數(shù)據(jù)。如果需要?jiǎng)h除所有行數(shù)據(jù),則在括號(hào)中標(biāo)注keep=Flash。如果需要?jiǎng)h除指定列的重復(fù)值,則需要在括號(hào)中填充列名。
3.2.3" "異常值的處理
異常值的處理用描述性統(tǒng)計(jì)查看。其中讀取數(shù)據(jù)操作如下:
Import pandas as pd
Data=pd.read_excel(‘上市公司中國(guó)電信.xslx’)
Data. describe ()
3.3" "Python數(shù)據(jù)可視化
俗話說,文不如表,表不如圖,在進(jìn)行財(cái)務(wù)數(shù)據(jù)分析時(shí),大段的文字說明或者表格陳列效果不如柱狀圖、折線圖等直觀。采用柱狀圖等可以大大提升表達(dá)效果,很直觀地讓數(shù)據(jù)使用者捕捉到所需要的信息。Python數(shù)據(jù)可視化會(huì)運(yùn)用到Matplotlib、Seaborn和Pyecharts三大庫(kù)[1]。
3.4" "Python財(cái)務(wù)分析
隨著信息技術(shù)的高速發(fā)展,各大企業(yè)對(duì)財(cái)會(huì)人員的要求越來越高,傳統(tǒng)的方法已經(jīng)無法適應(yīng)財(cái)務(wù)分析中海量的指標(biāo)計(jì)算,企業(yè)更多地注重財(cái)會(huì)人員的財(cái)務(wù)數(shù)據(jù)分析能力和計(jì)算機(jī)編程能力,而Python財(cái)務(wù)分析正好能夠?qū)崿F(xiàn)二者的結(jié)合。本文將采用Python對(duì)中國(guó)電信從盈利能力、償債能力、營(yíng)運(yùn)能力、發(fā)展能力以及橫向比較進(jìn)行分析。
3.4.1" "盈利能力分析
盈利能力分析是分析公司賺取利潤(rùn)的能力,具體有總資產(chǎn)周轉(zhuǎn)率、凈資產(chǎn)收益率、每股收益、銷售凈利率等。本文以銷售毛利率為例描述Python在盈利能力分析中的應(yīng)用。
在Python中銷售毛利率的計(jì)算需要用到insert,insert()函數(shù)用于向Python列表中指定位置添加一個(gè)元素,比如insert(2,‘銷售毛利率’,[‘營(yíng)業(yè)收入’]- [‘營(yíng)業(yè)成本’]/[‘營(yíng)業(yè)收入’]),2表示要插入列表中的第2列,銷售毛利率表示要插入的元素是銷售毛利率,[‘營(yíng)業(yè)收入’]-[‘營(yíng)業(yè)成本’]/[‘營(yíng)業(yè)收入’]表示銷售毛利率的計(jì)算公式。代碼編寫如下:
#銷售毛利率的計(jì)算公式
1. ZGDX insert(2,‘銷售毛利率’,ZGDX[‘營(yíng)業(yè)收入’]- ZGDX[‘營(yíng)業(yè)成本’]/ ZGDX[‘營(yíng)業(yè)收入’])
2. ZGDX
代碼運(yùn)行結(jié)果如表2所示。
從表2的數(shù)據(jù)可以看出,在營(yíng)業(yè)總收入逐年上升的情況下,2022年、2021年銷售毛利率較上年同比分別下降2.67%、3.28%。究其原因有以下幾個(gè)方面。
(1)2022年和2021年的營(yíng)業(yè)成本分別較上年同期增長(zhǎng)10.6%和12.9%,主要原因是公司緊抓數(shù)字經(jīng)濟(jì)發(fā)展機(jī)遇,加大科技創(chuàng)新及產(chǎn)業(yè)數(shù)字化等關(guān)鍵領(lǐng)域的投入。同時(shí),持續(xù)提升網(wǎng)絡(luò)質(zhì)量和能力,支撐5G、政企和新興業(yè)務(wù)快速發(fā)展。
(2)銷售費(fèi)用增加。2022年和2021年分別較上年同期增長(zhǎng)3.1%和6.7%,主要原因是公司在5G發(fā)展機(jī)遇期投入了必要的營(yíng)銷資源。
(3)管理費(fèi)用增加。2022年和2021年分別較上年同期增長(zhǎng)3.8%和19.2%,主要原因是公司積極推進(jìn)提質(zhì)增效,強(qiáng)化費(fèi)用管控以及公司股票增值權(quán)等費(fèi)用增加所致。
(4)研發(fā)費(fèi)用增幅較大。主要原因是公司強(qiáng)化科技創(chuàng)新,加大高科技人才引進(jìn),加強(qiáng)云網(wǎng)融合、5G等核心技術(shù)研發(fā)[2]。
3.4.2" "償債能力分析
償債能力是衡量企業(yè)財(cái)務(wù)風(fēng)險(xiǎn)、反映企業(yè)還本付息的能力。可分為長(zhǎng)期償債能力和短期償債能力,長(zhǎng)期償債能力指標(biāo)有資產(chǎn)負(fù)債率、權(quán)益乘數(shù)、利息保障倍數(shù)等,短期償債能力指標(biāo)有流動(dòng)比率、速動(dòng)比率等。本文就Python在流動(dòng)比率指標(biāo)的計(jì)算中的應(yīng)用進(jìn)行分析。
假設(shè)在中國(guó)電信財(cái)務(wù)數(shù)據(jù)表中第3列后面新增一列“流動(dòng)比率”,“ZGDX[‘流動(dòng)資產(chǎn)合計(jì)’]/[‘流動(dòng)負(fù)債合計(jì)’]”就是流動(dòng)比率的計(jì)算公式。所以,根據(jù)公式需要抽取流動(dòng)資產(chǎn)合計(jì)和流動(dòng)負(fù)債合計(jì)來計(jì)算。代碼編寫如下:
#計(jì)算短期償債能力指標(biāo):流動(dòng)比率
1. ZGDX.insert(3,‘流動(dòng)比率’,ZGDX [‘流動(dòng)資產(chǎn)合計(jì)’]/[‘流動(dòng)負(fù)債合計(jì)’])
2. ZGDX
代碼運(yùn)行如表3所示。
從表3的數(shù)據(jù)可以看出,近三年中國(guó)電信的流動(dòng)比率較低。事實(shí)上,身處重資產(chǎn)行業(yè),流動(dòng)資產(chǎn)當(dāng)中的支出用于了非流動(dòng)資產(chǎn),這個(gè)時(shí)候流動(dòng)負(fù)債不變,流動(dòng)資產(chǎn)下降,這就導(dǎo)致流動(dòng)比率較低。
3.4.3" "營(yíng)運(yùn)能力分析
營(yíng)運(yùn)能力是衡量企業(yè)運(yùn)用各項(xiàng)資產(chǎn)賺取收益的能力,該能力方面的指標(biāo)有應(yīng)收賬款周轉(zhuǎn)率、存貨周轉(zhuǎn)率、流動(dòng)資產(chǎn)周轉(zhuǎn)率等,一般周轉(zhuǎn)次數(shù)越高,資產(chǎn)周轉(zhuǎn)效率越高,周轉(zhuǎn)天數(shù)也就越短。本文就Python在應(yīng)收賬款周轉(zhuǎn)率指標(biāo)的計(jì)算中的應(yīng)用進(jìn)行分析。
假設(shè)在中國(guó)電信數(shù)據(jù)表中第2行后面新增一列應(yīng)收賬款周轉(zhuǎn)率,該比率的計(jì)算公式是“ZGDX[‘營(yíng)業(yè)總收入’] /((ZGDX [‘應(yīng)收賬款’]+ ZGDX[‘應(yīng)收賬款’].shift())/2)”。公式中,“(ZGDX [‘應(yīng)收賬款’]+ ZGDX[‘應(yīng)收賬款’].shift())/2”是指平均應(yīng)收賬款,也就是(年初應(yīng)收賬款+年末應(yīng)收賬款)/2。其中ZGDX[‘應(yīng)收賬款’].shift()表示應(yīng)收賬款這一列下移一期,也就是年初應(yīng)收賬款。代碼編寫如下:
#計(jì)算營(yíng)運(yùn)能力指標(biāo):應(yīng)收賬款周轉(zhuǎn)率
1. ZGDX.insert(2,‘應(yīng)收賬款周轉(zhuǎn)率’, ZGDX
[‘營(yíng)業(yè)總收入’] /((ZGDX [‘應(yīng)收賬款’]+ ZGDX
[‘應(yīng)收賬款’].shift())/2))
2. ZGDX
代碼運(yùn)行如表4所示。
從表4的數(shù)據(jù)可以看出,中國(guó)電信的應(yīng)收賬款金額較大,主要是由通信行業(yè)特點(diǎn)、公司業(yè)務(wù)及客戶特點(diǎn)導(dǎo)致的。但其應(yīng)收賬款周轉(zhuǎn)率還是比較良好,這個(gè)指標(biāo)越高,說明企業(yè)收賬速度越快,壞賬損失少,償債能力強(qiáng);反之,說明營(yíng)運(yùn)資金過多呆滯在應(yīng)收賬款上,影響資金周轉(zhuǎn)及償債能力。
3.4.4" "發(fā)展能力分析
發(fā)展能力是反映企業(yè)成長(zhǎng)性的能力,反映該能力的指標(biāo)有銷售增長(zhǎng)率、營(yíng)業(yè)利潤(rùn)增長(zhǎng)率、凈資產(chǎn)增長(zhǎng)率等。本文就Python在銷售增長(zhǎng)率指標(biāo)的計(jì)算中的應(yīng)用進(jìn)行分析。
假設(shè)在中國(guó)電信財(cái)務(wù)數(shù)據(jù)表中第3列后面新增一列銷售收入增長(zhǎng)率,該比率的公式是“(ZGDX[‘營(yíng)業(yè)總收入’]- ZGDX[‘營(yíng)業(yè)總收入’] .shift())/ZGDX [‘營(yíng)業(yè)總收入’].shift()”。同理,公式中“ZGDX[‘營(yíng)業(yè)總收入’] .shift()”是營(yíng)業(yè)總收入下移一期,表示年初營(yíng)業(yè)總收入。代碼編寫如下[3]:
#計(jì)算發(fā)展能力指標(biāo):銷售增長(zhǎng)率
1. ZGDX.insert(3,‘銷售增長(zhǎng)率’,(ZGDX [‘營(yíng)業(yè)總收入’]- ZGDX[‘營(yíng)業(yè)總收入’] .shift())/ZGDX [‘營(yíng)業(yè)總收入’].shift())
2. ZGDX
代碼運(yùn)行如表5所示。
從表5的數(shù)據(jù)可以看出,中國(guó)電信業(yè)績(jī)亮眼,營(yíng)業(yè)收入逐年增長(zhǎng),這歸功于傳統(tǒng)業(yè)務(wù)穩(wěn)健,創(chuàng)新業(yè)務(wù)動(dòng)力十足,公司成長(zhǎng)能力優(yōu)秀。
3.4.5" "橫向比較分析
橫向比較是指與競(jìng)爭(zhēng)對(duì)手比較、與行業(yè)標(biāo)桿比較、與行業(yè)平均比較等。本文以中國(guó)電信為例,將中國(guó)電信的盈利能力與行業(yè)平均進(jìn)行比較,以及與同行業(yè)的中國(guó)移動(dòng)、中國(guó)聯(lián)通進(jìn)行比較。中國(guó)電信屬于通信服務(wù)行業(yè),因此需要選取該行業(yè)并對(duì)該行業(yè)的盈利能力指標(biāo)進(jìn)行計(jì)算,然后再將中國(guó)電信的盈利能力指標(biāo)中的凈資產(chǎn)收益率與行業(yè)平均進(jìn)行比較[4]。
首先,計(jì)算行業(yè)內(nèi)各上市公司的凈資產(chǎn)收益率。代碼編寫如下:
#計(jì)算中國(guó)電信的凈資產(chǎn)收益率
1. ZGDX.insert(2,‘凈資產(chǎn)收益率’,ZGDX [‘凈利潤(rùn)’]/ ZGDX [‘所有者權(quán)益’])
2. ZGDX
#計(jì)算中國(guó)移動(dòng)的凈資產(chǎn)收益率
1. ZGYD.insert(2,‘凈資產(chǎn)收益率’,ZGDX [‘凈利潤(rùn)’]/ ZGYD [‘所有者權(quán)益’])
2. ZGYD
#計(jì)算中國(guó)聯(lián)通的凈資產(chǎn)收益率
1. ZGLT.insert(2,‘凈資產(chǎn)收益率’,ZGDX [‘凈利潤(rùn)’]/ ZGLT[‘所有者權(quán)益’])
2. ZGLT
代碼運(yùn)行如表6所示。
其次,計(jì)算2022年凈資產(chǎn)收益率行業(yè)均值。代碼編寫如下:
1. evgrowth22=data2022[‘凈資產(chǎn)收益率’].mean()
2. round(revgrowth22.2)
代碼運(yùn)行結(jié)果:5.58%。
再次,合并凈資產(chǎn)收益率,如表7所示。
最后,采用Seaborn繪制柱狀圖代碼如下:
1. import pandas as pd
2. import seaborn as sns #導(dǎo)入繪圖模塊,簡(jiǎn)寫為‘sns’
3. import matplotlib.pyplot as plt # 導(dǎo)入畫圖模塊,簡(jiǎn)寫為‘plt’
4. sns.set_style(‘white’)" #設(shè)置背景風(fēng)格為白色
5. plt.figure(figsize=(7,5))
6. sna.barplot(x=‘股票簡(jiǎn)稱’,y=‘凈資產(chǎn)收益率’,data=data)
7. plt.title(‘中國(guó)電信、中國(guó)移動(dòng)與中國(guó)聯(lián)通凈資產(chǎn)收益率比較圖’)
8. plt.show()
代碼運(yùn)行如圖1所示。
從圖1可以了解到中國(guó)電信在行業(yè)中排名較靠前,總體財(cái)務(wù)表現(xiàn)優(yōu)秀。
4" " "結(jié)束語
隨著大數(shù)據(jù)時(shí)代到來,大數(shù)據(jù)對(duì)于企業(yè)來說具有重要價(jià)值,企業(yè)要想從大量的數(shù)據(jù)中開展數(shù)據(jù)發(fā)掘以及分析工作,利用Python技術(shù)可以獲得更有價(jià)值的信息,從而達(dá)到精確的財(cái)務(wù)目的。Python在財(cái)務(wù)分析中的應(yīng)用,最關(guān)鍵的工作就是數(shù)據(jù)采集、清洗。借助Python分析財(cái)務(wù)數(shù)據(jù)是一種較為高效率的方法,保證企業(yè)的財(cái)務(wù)數(shù)據(jù)分析工作的順利進(jìn)行,幫助企業(yè)做出科學(xué)準(zhǔn)確的發(fā)展決策,增強(qiáng)企業(yè)競(jìng)爭(zhēng)力[5]。
主要參考文獻(xiàn)
[1]龍?jiān)露?Python財(cái)務(wù)數(shù)據(jù)分析及應(yīng)用[M].北京:高等教育出版社,2022.
[2]劉燦邦. 中國(guó)電信一季度實(shí)現(xiàn)凈利潤(rùn)近80億元推動(dòng)第二增長(zhǎng)曲線快速前行[N].證券時(shí)報(bào),2023-04-21(A07).
[3]中國(guó)電信.中國(guó)電信股份有限公司2022年年度報(bào)告[R].2023.
[4]司馬碧榮,鄧大政,楊媛. Python在電子表格中數(shù)據(jù)比對(duì)的應(yīng)用[J].信息與電腦(理論版),2022,34(15):107-111.
[5]張曉芳,董坤景,趙麗娟.Python技術(shù)在財(cái)務(wù)分析中的應(yīng)用研究[J].邯鄲職業(yè)技術(shù)學(xué)院學(xué)報(bào),2022,35(4):38-41.