复制 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中文网其他相关文章!