gpt4 book ai didi

Python 替换 Dataframe 字符串中的整个值而不是子字符串

转载 作者:太空狗 更新时间:2023-10-30 02:15:47 25 4
gpt4 key购买 nike

如果整个字符串等于另一个字符串,我正在尝试替换数据框中的字符串。我不想替换子字符串。

所以:

如果我有 df:

 Index  Name       Age
0 Joe 8
1 Mary 10
2 Marybeth 11

我想在整个字符串将“Mary”与“Amy”匹配时替换“Mary”,所以我得到

 Index  Name       Age
0 Joe 8
1 Amy 10
2 Marybeth 11

我正在做以下事情:

df['Name'] = df['Name'].apply(lambda x: x.replace('Mary','Amy'))

我通过四处搜索了解到 replace 的默认设置 regex=Falsereplace 应该看起来数据框中的整个值是“Mary”。相反,我得到了这个结果:

 Index  Name       Age
0 Joe 8
1 Amy 10
2 Amybeth 11

我做错了什么?

最佳答案

replace + dict 是要走的路(对于 DataFrame,您正在使用 Series.str.replace)

df['Name'].replace({'Mary':'Amy'})
Out[582]:
0 Joe
1 Amy
2 Marybeth
Name: Name, dtype: object
df['Name'].replace({'Mary':'Amy'},regex=True)
Out[583]:
0 Joe
1 Amy
2 Amybeth
Name: Name, dtype: object

注意它们是不同的

系列: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.str.replace.html

数据框: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.replace.html

关于Python 替换 Dataframe 字符串中的整个值而不是子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48214863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com