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