2014-10-02 59 views
0

說我有一個DF定義爲變量DF1:傳遞一個變量名到函數的參數(Python 3中,熊貓)

Words   Score 
    The man  10 
    A Plan   20 
    Panama   30 

並說我有一個函數:

def func(w, df): 
    pattern = re.compile(r'\b({0})\b'.format(w), flags=re.IGNORECASE) 
if pattern.search(df): 
    return True 
else: 
    return False 

我如何將DF1的每一行,特別是列'Words'傳遞給函數中的參數?

編輯:Ubuntu的答案是什麼,我通常會使用,但我需要自己在我的函數引用DF

+0

好的,編輯 - 但我怎樣才能通過我的DF功能! – user3682157 2014-10-02 21:42:23

回答

1

你可以使用the Series.apply method

df1['Words'].apply(func) 

如果您希望通過更多的位置參數來func,使用args關鍵字參數:

df1['Words'].apply(func, args=(df,)) 

,或者通過df作爲關鍵字參數:

df1['Words'].apply(func, df=df) 

以來,per the docs 「[α] dditional關鍵字參數[給apply]將作爲關鍵字傳遞給函數」。

+0

@DSM:你的回答比我的完整;我們應該交換刪除狀態嗎? – unutbu 2014-10-02 21:53:47

+0

嗯,這讓我有點在這裏的方式,但不完全 - 我如何應用,如果我需要實際調用數據框的爭論?編輯上面的 – user3682157 2014-10-02 22:08:25

+0

,所以如果函數是要查看是否在df1 ['Words']中找到了一個單詞(即函數中的w參數) - 是否有辦法做到這一點? – user3682157 2014-10-02 22:24:14

相關問題