如何更改熊猫数据框单元格中名称的确切出现

我有一个包含多列的数据框。在其中一列中,存储字符串。我想用新的字符串更改这些字符串的名称:


下面是一个例子:


    old_names = ['Adam', 'Alan', 'Andrew', 'Frank', 'Harry', 'Jack', 

'Josh', 'Justin', 'Roger', 'Ryan', 'Amanda', 'Betsy', 'Courtney', 'Ellen',

 'Heather', 'Katie', 'Kristin', 'Melanie', 'Nancy', 'Stephanie']


    new_names = ['Hanna', 'Brayden', 'Brooklyn', 'Ashlynn', 'Joshua', 

'Britni', 'Latoya', 'Hunter', 'Kaylie', 'Infant', 'Ashlea', 'Haley',

 'Caleb', 'Gage', 'Raheem', 'Mariel', 'Hakeem', 'Lukas', 'Isis', 'Nia']

我想将 old_names[0] 替换为 new_names[0] old_names[1] 与 new_names[1] 等等。为此,我执行了以下操作:


def change_names(data,old,new):

    for i in range(len(prev)):

        data['Sentence'] = data['Sentence'].str.replace(old[i],new[i])

    return data


data = pd.read_csv("mydata.csv")

changed_data = change_names(data,old_names,new_names)

如果我应用这个函数,我会替换为Harry,Latoyaua因为它首先用 Joshua 替换 Harry,然后在用 Latoya 替换 Josh 的同时,它还用Latoya.


我该如何解决这个问题?


编辑


这是数据框中的示例行:


>>> t.loc[220]

Sentence                            Harry feels angry.

Template        <person subject> feels <emotion word>.

Person                                           Harry

Name: 220, dtype: object


至尊宝的传说
浏览 144回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python