簡體   English   中英

如何將 function 應用於 dataframe 中的一系列列?

[英]How to apply a function to a range of columns in dataframe?

我嘗試將 function 應用於我的 dataframe 中一系列列的值,但它顯示錯誤這是我的 dataframe

在此處輸入圖像描述

#define a function to change missing values to NaN
def change_missing(num):
    if (num != None) & (type(num) != int) & (type(num) != float):
        return np.nan
    else:
        return num

Energy.iloc[:,1:4].apply(change_missing)

###ValueError: ('The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().', 'occurred at index Energy Supply')

您需要使用applymap ,它為每列的每個單元格調用指定的 function ,而不是apply ,它只為每列調用指定的 function :

Energy.iloc[:,1:4].applymap(change_missing)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM