如何替换 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中文网其他相关文章!