2017-08-19 168 views
1

我想僅在第一列使用apply()函數,僅用於第二列值的特定情況。熊貓:使用基於另一列條件的應用函數

假設我有這樣的

URL  text 
------- --------- 
URL1  
URL2  some text 

我想用apply()功能上URL列時text是空白的(或其他條件)一個數據幀。我已經試過這

webdata['text'] = webdata.apply(lambda row: func(row['URL']) if row['text']== '' else row['text']) 

func()是我的功能我想打電話。但是我得到這個錯誤。

( '文',在索引鍵'u'occurred)

有什麼錯誤,或者有更好的方式來做到這一點?

回答

1

IIUC:

webdata.loc[webdata['text']=='', 'text'] = \ 
    webdata.loc[webdata['text']=='', 'URL'].apply(func)