您好,登錄后才能下訂單哦!
這篇文章主要講解了pandas dataframe如何處理除數(shù)是零,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。
如下例
data2[‘營業(yè)成本率'] = data2[‘營業(yè)成本本年累計(jì)']/data2[‘營業(yè)收入本年累計(jì)']*100
但有營業(yè)收入本年累計(jì)為0的情況,
則營業(yè)成本率為inf,即無窮大,而需要在表中體現(xiàn)為零,用如下方法填充:
data2['營業(yè)成本率'] = data2['營業(yè)成本本年累計(jì)']/data2['營業(yè)收入本年累計(jì)']*100 data2['營業(yè)成本率'].replace([np.inf, -np.inf, "", np.nan], 0, inplace=True)
當(dāng)然,要引用到numpy庫
需要導(dǎo)入庫
import pandas as pd # 導(dǎo)入panads from openpyxl import load_workbook # 讀取時導(dǎo)入這個 from openpyxl.styles import Font, Alignment # 設(shè)置單元格格式 from openpyxl.utils import get_column_letter, column_index_from_string # 柱形BarChart 3D柱BarChart3D from openpyxl.chart import label, BarChart3D, BarChart, Reference import numpy as np
也可以采用函數(shù)和apply的方式
def get_benrate(series): shouru = series['營業(yè)收入本年累計(jì)'] chengben = series['營業(yè)成本本年累計(jì)'] if shouru == 0: return 0 else: return chengben/shouru*100 data2['營業(yè)成本率'] = 0 data2['營業(yè)成本率'] = data2.apply(get_benrate, axis=1)
以前雖然用
data2['三項(xiàng)費(fèi)用完成比例本月數(shù)'] = 0 data2.loc[data2['任務(wù)指標(biāo)三項(xiàng)費(fèi)用'] != 0,'三項(xiàng)費(fèi)用完成比例本月數(shù)'] = data2['三項(xiàng)費(fèi)用合計(jì)本月數(shù)']/data2['任務(wù)指標(biāo)三項(xiàng)費(fèi)用']*100
解決過除數(shù)為0的情況,但最上面的例子,卻怎么也不認(rèn),一直提示錯誤,不知道是什么原因,也請大家給指正。
看完上述內(nèi)容,是不是對pandas dataframe如何處理除數(shù)是零有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。