首页  >  文章  >  后端开发  >  如何替换 Pandas DataFrame 字符串列中的逗号?

如何替换 Pandas DataFrame 字符串列中的逗号?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-30 16:37:26440浏览

How to Replace a Comma in a String Column of a Pandas DataFrame?

如何替换 Pandas Dataframe 字符串列中的文本

在 Pandas 中,你可能会遇到需要修改内容的情况文本列,例如替换某个字符或字符串。这可以使用强大的替换方法来实现。

您提到有一列包含括号内的值,并用逗号分隔两个数字。您的目标是用破折号替换逗号。但是,您当前使用 org_info_exc['range'].replace(',', '-', inplace=True) 的方法不起作用。

问题在于代码的语法。替换方法要求您指定要替换的确切字符串或正则表达式。在您的情况下,逗号与整个值并不完全匹配。

要正确替换逗号,您应该使用以下方法:

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

这里,我们使用矢量化 str 方法,它允许我们对列中的每个元素应用字符串转换。替换函数有两个参数:要替换的原始字符串和要替换的新字符串。

此代码使用正则表达式 ',' 来匹配逗号字符,无论其在字符串中的位置如何.

编辑:

分析您最初的尝试:

<code class="python">df['range'].replace(',','-',inplace=True)</code>

Pandas 文档中对此方法的描述指出,“str: string完全匹配的 to_replace 将被值替换。”由于您列中的字符串与逗号字符不完全匹配,因此不会发生替换。

相反,如果我们为逗号字符提供完全匹配,如下所示,则会发生替换:

<code class="python">df = pd.DataFrame({'range':['(2,30)',',']})
df['range'].replace(',','-', inplace=True)

df['range']

0    (2,30)
1         -
Name: range, dtype: object</code>

在此修改后的示例中,第二行包含逗号的精确匹配,并且发生替换。

以上是如何替换 Pandas DataFrame 字符串列中的逗号?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn