【发布时间】: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 函数并将两列用作函数的输入变量?
【问题讨论】:
-
你可以在这里使用
lambda函数:df['msgText'] = df.apply(lambda x: x['msgText'].replace(x['name'], 'Karl'), axis=1)