2016-06-14 58 views
0

我有填充字段ResultAccount一個populateResult功能。如果df3.AccounName2爲空,則DF3 [ 「ResultAccount」]是df3.AccountName。否則df3 [「ResultAccount」]是df3.AccountName2。else條件數據幀

在我的代碼中,永遠不會達到elif條件。只有if條件得到評估並填充ResultAccount。不知道爲什麼其他條件永遠達不到。任何幫助,將不勝感激。

PopulateResult功能:

def populateResult(df3): 
if(df3.AccountName2.isnull): 
    return df3.AccountName 
elif(df3.AccountName.isnull): 
    return df3.AccountName2 

函數調用:

df3["ResultAccount"] = populateResult(df3) 
+0

這可能只是有關使用它作爲df3.AccountName2.isnull ()(你錯過了()。ISNULL是一個函數,需要被稱爲一個) – Akshar

回答

0

我想你需要雙numpy.where

df3["ResultAccount"] = np.where(df3.AccountName2.isnull(), 
           df3.AccountName, 
           np.where(df3.AccountName.isnull(), 
             df3.AccountName2, 
             'None')) 
print (df3) 
+0

它總是給出AccountName2。 ResultAccount始終是AccountName2的值。 – user3447653

+0

什麼)回報'df3.AccountName2.isnull('? – jezrael

+0

請檢查編輯答案。 – jezrael