Pandas的replace()函数不替换值
Pandas中replace()方法的文档指出它会替换所有出现的a指定值与另一个值。但是,在某些情况下,replace() 方法似乎不起作用,即使提供的参数显示正确。
一个可能的原因是,replace() 方法默认执行完全替换搜索。如果意图执行部分替换,则 regex 参数必须设置为 True。通过启用正则表达式支持,replace() 方法将在目标值中搜索子字符串,并用指定的替换值替换所有出现的该子字符串。
例如:
<code class="python">import pandas as pd d = {'color': pd.Series(['white', 'blue', 'orange']), 'second_color': pd.Series(['white', 'black', 'blue']), 'value': pd.Series([1., 2., 3.])} df = pd.DataFrame(d) df.replace('white', np.nan, regex=True)</code>
此修改将用 NaN 替换所有出现的字符串 'white',无论其在单元格中的位置如何。
需要注意的是,使用 regex 参数可能会影响 Replace() 的性能方法,尤其是在处理大型数据集时。因此,应仅在必要时使用。
以上是为什么 Pandas `replace()` 函数总是不能按预期工作?的详细内容。更多信息请关注PHP中文网其他相关文章!