如何将pandas数据帧列映射到需要多个参数的函数

时间:2016-10-13 10:41:59

标签: python regex pandas

我有一个有两个参数的函数,第一个参数是一些文本,第二个是正则表达式。

我想将数据帧中某一列的每一行传递给使用.map的函数但是我不知道如何将数据帧中的数据作为第一个参数和正则表达式(这将是相同的模式)每一行)是第二个参数?

def regex(pattern,text):
    p = pattern
    t = str(text)
    results = re.findall(p,t)
    return results

df['new_column'] = df['source_code'].map(some_function)

1 个答案:

答案 0 :(得分:1)

我认为您需要lambda函数,其参数为patternx

df['new_column'] = df['source_code'].map(lambda x: some_function(pattern, x))

df['new_column'] = df['source_code'].apply(lambda x: some_function(pattern, x))

感谢Jon Clements寻求其他解决方案:

df['new_column'] = df['source_code'].apply(some_function, args=(pattern ,x))