【问题标题】:How to use the apply function to a function with multiple variables?如何将apply函数用于具有多个变量的函数?
【发布时间】:2019-04-30 10:16:33
【问题描述】:

我有一个如下格式的数据集:

msgText                   name
'My name is Donald'       Donald
'I am married to Jenny'   Donald 
'Donald is from Europe'   Donald

我想做的是替换 msgText 列的一部分 fs 它包含来自 name 列的名称,我想用“Karl”替换它。这样我想要的输出如下所示:

msgText                   name
'My name is Karl'         Donald
'I am married to Jenny'   Donald 
'Karl is from Europe'     Donald

为此,我有以下功能:

def replaceName(text, name):
    newText = text.replace(name, 'Karl')
    return newText

但是,我不知道如何将此功能应用于熊猫系列。

我开始的是:

dataset['filtered_text'] = dataset.msgText.apply(replaceName)

但是,这里我没有考虑名称 coluimn。如何使用 apply 函数并将两列用作函数的输入变量?

【问题讨论】:

标签: python pandas apply


【解决方案1】:

这是您正在寻找的解决方案:

df['msgText'] = df.apply(lambda row: replaceName(row['msgText'], row['name']), axis=1)

print(df)
                   msgText     name
0        'My name is Karl'   Donald
1  'I am married to Jenny'   Donald 
2    'Karl is from Europe'   Donald

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    相关资源
    最近更新 更多