Pandas:根据其他列条件使用apply函数

时间:2017-08-19 17:15:42

标签: python pandas apply

我想在第一列使用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()是我要打电话的功能。但我得到了这个错误。

  

('text',u'ccurred at index key')

有没有错误,或者有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

IIUC:

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