溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

pandas dataframe如何處理除數(shù)是零

發(fā)布時間:2020-07-20 13:45:30 來源:億速云 閱讀:734 作者:小豬 欄目:開發(fā)技術(shù)

這篇文章主要講解了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è)資訊頻道。

向AI問一下細(xì)節(jié)

免責(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)容。

AI