如何在没有精确匹配的情况下替换 Pandas 数据帧的字符串列中的字符?

Susan Sarandon
发布: 2024-10-28 14:30:02
原创
406 人浏览过

How to Replace Characters in a String Column of a Pandas Dataframe without Exact Matches?

复制 Pandas Dataframe 字符串列中的文本

在数据操作任务中,通常需要替换字符串列中的特定字符。考虑一个数据框,其中有一列包含“(2,30)”等字符串值,我们希望用破折号(“-”)替换逗号(“,”)。

为了解决这个问题,您可能尝试使用 Pandas 的替换方法 inplace=True 直接修改列。但是,如果这种方法不起作用,则值得评估您的代码并了解替换的限制。

Pandas 文档指定替换需要指定字符串的精确匹配才能执行替换。在您的情况下,列中的值与您尝试替换的字符串不完全匹配。

相反,我们可以利用矢量化 str 方法来有效地执行此转换:

<code class="python">df['range'] = df['range'].str.replace(',','-')</code>
登录后复制

这种方法利用 str 方法将列中的每个字符串视为字符串对象,使我们能够执行各种字符串操作操作。通过链接替换方法,我们可以指定用破折号替换逗号。

为了说明这一点,让我们考虑一个示例:

<code class="python">df = pd.DataFrame({'range':['(2,30)', '(50,290)', '(400,1000)']})

df['range'] = df['range'].str.replace(',','-')

print(df)</code>
登录后复制

输出:

      range
0    (2-30)
1  (50-290)
2 (400-1000)
登录后复制

如您所见,原列中的逗号已成功替换为破折号。

以上是如何在没有精确匹配的情况下替换 Pandas 数据帧的字符串列中的字符?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!